zoukankan      html  css  js  c++  java
  • Pandas 中 DataFrame 基本函数整理

    简介

    pandas作者Wes McKinney 在【PYTHON FOR DATA ANALYSIS】中对pandas的方方面面都有了一个权威简明的入门级的介绍,但在实际使用过程中,我发现书中的内容还只是冰山一角。谈到pandas数据的行更新、表合并等操作,一般用到的方法有concat、join、merge。但这三种方法对于很多新手来说,都不太好分清使用的场合与用途。

    构造函数

    方法描述
    DataFrame([data, index, columns, dtype, copy]) 构造数据框

    属性和数据

    方法描述
    Axes index: row labels;columns: column labels
    DataFrame.as_matrix([columns]) 转换为矩阵
    DataFrame.dtypes 返回数据的类型
    DataFrame.ftypes Return the ftypes (indication of sparse/dense and dtype) in this object.
    DataFrame.get_dtype_counts() 返回数据框数据类型的个数
    DataFrame.get_ftype_counts() Return the counts of ftypes in this object.
    DataFrame.select_dtypes([include, exclude]) 根据数据类型选取子数据框
    DataFrame.values Numpy的展示方式
    DataFrame.axes 返回横纵坐标的标签名
    DataFrame.ndim 返回数据框的纬度
    DataFrame.size 返回数据框元素的个数
    DataFrame.shape 返回数据框的形状
    DataFrame.memory_usage([index, deep]) Memory usage of DataFrame columns.

    类型转换

    方法描述
    DataFrame.astype(dtype[, copy, errors]) 转换数据类型
    DataFrame.copy([deep]) 复制数据框
    DataFrame.isnull() 以布尔的方式返回空值
    DataFrame.notnull() 以布尔的方式返回非空值

    索引和迭代

    方法描述
    DataFrame.head([n]) 返回前n行数据
    DataFrame.at 快速标签常量访问器
    DataFrame.iat 快速整型常量访问器
    DataFrame.loc 标签定位
    DataFrame.iloc 整型定位
    DataFrame.insert(loc, column, value[, …]) 在特殊地点插入行
    DataFrame.iter() Iterate over infor axis
    DataFrame.iteritems() 返回列名和序列的迭代器
    DataFrame.iterrows() 返回索引和序列的迭代器
    DataFrame.itertuples([index, name]) Iterate over DataFrame rows as namedtuples, with index value as first element of the tuple.
    DataFrame.lookup(row_labels, col_labels) Label-based “fancy indexing” function for DataFrame.
    DataFrame.pop(item) 返回删除的项目
    DataFrame.tail([n]) 返回最后n行
    DataFrame.xs(key[, axis, level, drop_level]) Returns a cross-section (row(s) or column(s)) from the Series/DataFrame.
    DataFrame.isin(values) 是否包含数据框中的元素
    DataFrame.where(cond[, other, inplace, …]) 条件筛选
    DataFrame.mask(cond[, other, inplace, axis, …]) Return an object of same shape as self and whose corresponding entries are from self where cond is False and otherwise are from other.
    DataFrame.query(expr[, inplace]) Query the columns of a frame with a boolean expression.

    二元运算

    方法描述
    DataFrame.add(other[, axis, level, fill_value]) 加法,元素指向
    DataFrame.sub(other[, axis, level, fill_value]) 减法,元素指向
    DataFrame.mul(other[, axis, level, fill_value]) 乘法,元素指向
    DataFrame.div(other[, axis, level, fill_value]) 小数除法,元素指向
    DataFrame.truediv(other[, axis, level, …]) 真除法,元素指向
    DataFrame.floordiv(other[, axis, level, …]) 向下取整除法,元素指向
    DataFrame.mod(other[, axis, level, fill_value]) 模运算,元素指向
    DataFrame.pow(other[, axis, level, fill_value]) 幂运算,元素指向
    DataFrame.radd(other[, axis, level, fill_value]) 右侧加法,元素指向
    DataFrame.rsub(other[, axis, level, fill_value]) 右侧减法,元素指向
    DataFrame.rmul(other[, axis, level, fill_value]) 右侧乘法,元素指向
    DataFrame.rdiv(other[, axis, level, fill_value]) 右侧小数除法,元素指向
    DataFrame.rtruediv(other[, axis, level, …]) 右侧真除法,元素指向
    DataFrame.rfloordiv(other[, axis, level, …]) 右侧向下取整除法,元素指向
    DataFrame.rmod(other[, axis, level, fill_value]) 右侧模运算,元素指向
    DataFrame.rpow(other[, axis, level, fill_value]) 右侧幂运算,元素指向
    DataFrame.lt(other[, axis, level]) 类似Array.lt
    DataFrame.gt(other[, axis, level]) 类似Array.gt
    DataFrame.le(other[, axis, level]) 类似Array.le
    DataFrame.ge(other[, axis, level]) 类似Array.ge
    DataFrame.ne(other[, axis, level]) 类似Array.ne
    DataFrame.eq(other[, axis, level]) 类似Array.eq
    DataFrame.combine(other, func[, fill_value, …]) Add two DataFrame objects and do not propagate NaN values, so if for a
    DataFrame.combine_first(other) Combine two DataFrame objects and default to non-null values in frame calling the method.

    函数应用&分组&窗口

    方法描述
    DataFrame.apply(func[, axis, broadcast, …]) 应用函数
    DataFrame.applymap(func) Apply a function to a DataFrame that is intended to operate elementwise, i.e.
    DataFrame.aggregate(func[, axis]) Aggregate using callable, string, dict, or list of string/callables
    DataFrame.transform(func, *args, **kwargs) Call function producing a like-indexed NDFrame
    DataFrame.groupby([by, axis, level, …]) 分组
    DataFrame.rolling(window[, min_periods, …]) 滚动窗口
    DataFrame.expanding([min_periods, freq, …]) 拓展窗口
    DataFrame.ewm([com, span, halflife, alpha, …]) 指数权重窗口

    描述统计学

    方法描述
    DataFrame.abs() 返回绝对值
    DataFrame.all([axis, bool_only, skipna, level]) Return whether all elements are True over requested axis
    DataFrame.any([axis, bool_only, skipna, level]) Return whether any element is True over requested axis
    DataFrame.clip([lower, upper, axis]) Trim values at input threshold(s).
    DataFrame.clip_lower(threshold[, axis]) Return copy of the input with values below given value(s) truncated.
    DataFrame.clip_upper(threshold[, axis]) Return copy of input with values above given value(s) truncated.
    DataFrame.corr([method, min_periods]) 返回本数据框成对列的相关性系数
    DataFrame.corrwith(other[, axis, drop]) 返回不同数据框的相关性
    DataFrame.count([axis, level, numeric_only]) 返回非空元素的个数
    DataFrame.cov([min_periods]) 计算协方差
    DataFrame.cummax([axis, skipna]) Return cumulative max over requested axis.
    DataFrame.cummin([axis, skipna]) Return cumulative minimum over requested axis.
    DataFrame.cumprod([axis, skipna]) 返回累积
    DataFrame.cumsum([axis, skipna]) 返回累和
    DataFrame.describe([percentiles, include, …]) 整体描述数据框
    DataFrame.diff([periods, axis]) 1st discrete difference of object
    DataFrame.eval(expr[, inplace]) Evaluate an expression in the context of the calling DataFrame instance.
    DataFrame.kurt([axis, skipna, level, …]) 返回无偏峰度Fisher’s (kurtosis of normal == 0.0).
    DataFrame.mad([axis, skipna, level]) 返回偏差
    DataFrame.max([axis, skipna, level, …]) 返回最大值
    DataFrame.mean([axis, skipna, level, …]) 返回均值
    DataFrame.median([axis, skipna, level, …]) 返回中位数
    DataFrame.min([axis, skipna, level, …]) 返回最小值
    DataFrame.mode([axis, numeric_only]) 返回众数
    DataFrame.pct_change([periods, fill_method, …]) 返回百分比变化
    DataFrame.prod([axis, skipna, level, …]) 返回连乘积
    DataFrame.quantile([q, axis, numeric_only, …]) 返回分位数
    DataFrame.rank([axis, method, numeric_only, …]) 返回数字的排序
    DataFrame.round([decimals]) Round a DataFrame to a variable number of decimal places.
    DataFrame.sem([axis, skipna, level, ddof, …]) 返回无偏标准误
    DataFrame.skew([axis, skipna, level, …]) 返回无偏偏度
    DataFrame.sum([axis, skipna, level, …]) 求和
    DataFrame.std([axis, skipna, level, ddof, …]) 返回标准误差
    DataFrame.var([axis, skipna, level, ddof, …]) 返回无偏误差

    从新索引&选取&标签操作

    方法描述
    DataFrame.add_prefix(prefix) 添加前缀
    DataFrame.add_suffix(suffix) 添加后缀
    DataFrame.align(other[, join, axis, level, …]) Align two object on their axes with the
    DataFrame.drop(labels[, axis, level, …]) 返回删除的列
    DataFrame.drop_duplicates([subset, keep, …]) Return DataFrame with duplicate rows removed, optionally only
    DataFrame.duplicated([subset, keep]) Return boolean Series denoting duplicate rows, optionally only
    DataFrame.equals(other) 两个数据框是否相同
    DataFrame.filter([items, like, regex, axis]) 过滤特定的子数据框
    DataFrame.first(offset) Convenience method for subsetting initial periods of time series data based on a date offset.
    DataFrame.head([n]) 返回前n行
    DataFrame.idxmax([axis, skipna]) Return index of first occurrence of maximum over requested axis.
    DataFrame.idxmin([axis, skipna]) Return index of first occurrence of minimum over requested axis.
    DataFrame.last(offset) Convenience method for subsetting final periods of time series data based on a date offset.
    DataFrame.reindex([index, columns]) Conform DataFrame to new index with optional filling logic, placing NA/NaN in locations having no value in the previous index.
    DataFrame.reindex_axis(labels[, axis, …]) Conform input object to new index with optional filling logic, placing NA/NaN in locations having no value in the previous index.
    DataFrame.reindex_like(other[, method, …]) Return an object with matching indices to myself.
    DataFrame.rename([index, columns]) Alter axes input function or functions.
    DataFrame.rename_axis(mapper[, axis, copy, …]) Alter index and / or columns using input function or functions.
    DataFrame.reset_index([level, drop, …]) For DataFrame with multi-level index, return new DataFrame with labeling information in the columns under the index names, defaulting to ‘level_0’, ‘level_1’, etc.
    DataFrame.sample([n, frac, replace, …]) 返回随机抽样
    DataFrame.select(crit[, axis]) Return data corresponding to axis labels matching criteria
    DataFrame.set_index(keys[, drop, append, …]) Set the DataFrame index (row labels) using one or more existing columns.
    DataFrame.tail([n]) 返回最后几行
    DataFrame.take(indices[, axis, convert, is_copy]) Analogous to ndarray.take
    DataFrame.truncate([before, after, axis, copy]) Truncates a sorted NDFrame before and/or after some particular index value.

    处理缺失值

    方法描述
    DataFrame.dropna([axis, how, thresh, …]) Return object with labels on given axis omitted where alternately any
    DataFrame.fillna([value, method, axis, …]) 填充空值
    DataFrame.replace([to_replace, value, …]) Replace values given in ‘to_replace’ with ‘value’.

    从新定型&排序&转变形态

    方法描述
    DataFrame.pivot([index, columns, values]) Reshape data (produce a “pivot” table) based on column values.
    DataFrame.reorder_levels(order[, axis]) Rearrange index levels using input order.
    DataFrame.sort_values(by[, axis, ascending, …]) Sort by the values along either axis
    DataFrame.sort_index([axis, level, …]) Sort object by labels (along an axis)
    DataFrame.nlargest(n, columns[, keep]) Get the rows of a DataFrame sorted by the n largest values of columns.
    DataFrame.nsmallest(n, columns[, keep]) Get the rows of a DataFrame sorted by the n smallest values of columns.
    DataFrame.swaplevel([i, j, axis]) Swap levels i and j in a MultiIndex on a particular axis
    DataFrame.stack([level, dropna]) Pivot a level of the (possibly hierarchical) column labels, returning a DataFrame (or Series in the case of an object with a single level of column labels) having a hierarchical index with a new inner-most level of row labels.
    DataFrame.unstack([level, fill_value]) Pivot a level of the (necessarily hierarchical) index labels, returning a DataFrame having a new level of column labels whose inner-most level consists of the pivoted index labels.
    DataFrame.melt([id_vars, value_vars, …]) “Unpivots” a DataFrame from wide format to long format, optionally
    DataFrame.T Transpose index and columns
    DataFrame.to_panel() Transform long (stacked) format (DataFrame) into wide (3D, Panel) format.
    DataFrame.to_xarray() Return an xarray object from the pandas object.
    DataFrame.transpose(*args, **kwargs) Transpose index and columns

    Combining& joining&merging

    方法描述
    DataFrame.append(other[, ignore_index, …]) 追加数据
    DataFrame.assign(**kwargs) Assign new columns to a DataFrame, returning a new object (a copy) with all the original columns in addition to the new ones.
    DataFrame.join(other[, on, how, lsuffix, …]) Join columns with other DataFrame either on index or on a key column.
    DataFrame.merge(right[, how, on, left_on, …]) Merge DataFrame objects by performing a database-style join operation by columns or indexes.
    DataFrame.update(other[, join, overwrite, …]) Modify DataFrame in place using non-NA values from passed DataFrame.

    时间序列

    方法描述
    DataFrame.asfreq(freq[, method, how, …]) 将时间序列转换为特定的频次
    DataFrame.asof(where[, subset]) The last row without any NaN is taken (or the last row without
    DataFrame.shift([periods, freq, axis]) Shift index by desired number of periods with an optional time freq
    DataFrame.first_valid_index() Return label for first non-NA/null value
    DataFrame.last_valid_index() Return label for last non-NA/null value
    DataFrame.resample(rule[, how, axis, …]) Convenience method for frequency conversion and resampling of time series.
    DataFrame.to_period([freq, axis, copy]) Convert DataFrame from DatetimeIndex to PeriodIndex with desired
    DataFrame.to_timestamp([freq, how, axis, copy]) Cast to DatetimeIndex of timestamps, at beginning of period
    DataFrame.tz_convert(tz[, axis, level, copy]) Convert tz-aware axis to target time zone.
    DataFrame.tz_localize(tz[, axis, level, …]) Localize tz-naive TimeSeries to target time zone.

    作图

    方法描述
    DataFrame.plot([x, y, kind, ax, ….]) DataFrame plotting accessor and method
    DataFrame.plot.area([x, y]) 面积图Area plot
    DataFrame.plot.bar([x, y]) 垂直条形图Vertical bar plot
    DataFrame.plot.barh([x, y]) 水平条形图Horizontal bar plot
    DataFrame.plot.box([by]) 箱图Boxplot
    DataFrame.plot.density(**kwds) 核密度Kernel Density Estimate plot
    DataFrame.plot.hexbin(x, y[, C, …]) Hexbin plot
    DataFrame.plot.hist([by, bins]) 直方图Histogram
    DataFrame.plot.kde(**kwds) 核密度Kernel Density Estimate plot
    DataFrame.plot.line([x, y]) 线图Line plot
    DataFrame.plot.pie([y]) 饼图Pie chart
    DataFrame.plot.scatter(x, y[, s, c]) 散点图Scatter plot
    DataFrame.boxplot([column, by, ax, …]) Make a box plot from DataFrame column optionally grouped by some columns or
    DataFrame.hist(data[, column, by, grid, …]) Draw histogram of the DataFrame’s series using matplotlib / pylab.

    转换为其他格式

    方法描述
    DataFrame.from_csv(path[, header, sep, …]) Read CSV file (DEPRECATED, please use pandas.read_csv() instead).
    DataFrame.from_dict(data[, orient, dtype]) Construct DataFrame from dict of array-like or dicts
    DataFrame.from_items(items[, columns, orient]) Convert (key, value) pairs to DataFrame.
    DataFrame.from_records(data[, index, …]) Convert structured or record ndarray to DataFrame
    DataFrame.info([verbose, buf, max_cols, …]) Concise summary of a DataFrame.
    DataFrame.to_pickle(path[, compression, …]) Pickle (serialize) object to input file path.
    DataFrame.to_csv([path_or_buf, sep, na_rep, …]) Write DataFrame to a comma-separated values (csv) file
    DataFrame.to_hdf(path_or_buf, key, **kwargs) Write the contained data to an HDF5 file using HDFStore.
    DataFrame.to_sql(name, con[, flavor, …]) Write records stored in a DataFrame to a SQL database.
    DataFrame.to_dict([orient, into]) Convert DataFrame to dictionary.
    DataFrame.to_excel(excel_writer[, …]) Write DataFrame to an excel sheet
    DataFrame.to_json([path_or_buf, orient, …]) Convert the object to a JSON string.
    DataFrame.to_html([buf, columns, col_space, …]) Render a DataFrame as an HTML table.
    DataFrame.to_feather(fname) write out the binary feather-format for DataFrames
    DataFrame.to_latex([buf, columns, …]) Render an object to a tabular environment table.
    DataFrame.to_stata(fname[, convert_dates, …]) A class for writing Stata binary dta files from array-like objects
    DataFrame.to_msgpack([path_or_buf, encoding]) msgpack (serialize) object to input file path
    DataFrame.to_gbq(destination_table, project_id) Write a DataFrame to a Google BigQuery table.
    DataFrame.to_records([index, convert_datetime64]) Convert DataFrame to record array.
    DataFrame.to_sparse([fill_value, kind]) Convert to SparseDataFrame
    DataFrame.to_dense() Return dense representation of NDFrame (as opposed to sparse)
    DataFrame.to_string([buf, columns, …]) Render a DataFrame to a console-friendly tabular output.
    DataFrame.to_clipboard([excel, sep]) Attempt to write text representation of object to the system clipboard This can be pasted into Excel, for example.
  • 相关阅读:
    NLP(五)
    pyinstaller+wxpython+selinum
    C++ 动态库和静态库
    谷粒商城(三) 部署
    Centos使用KVM创建虚拟机
    C++指针
    C++异常处理
    C++流类库与输入/输出
    C++泛型程序设计及STL的结构
    selenium java maven testNg环境搭建
  • 原文地址:https://www.cnblogs.com/xiaoli0520/p/13908660.html
Copyright © 2011-2022 走看看