python下的Pandas中DataFrame基本操作,基本函数整理

2020-12-28 11:12:14 浏览数 (1)

参考链接: Pandas DataFrame中的转换函数

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

  构造函数 

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

  属性和数据 

  方法描述Axesindex: row labels;columns: column labelsDataFrame.as_matrix([columns])转换为矩阵DataFrame.dtypes返回数据的类型DataFrame.ftypesReturn 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.valuesNumpy的展示方式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 axisDataFrame.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.ltDataFrame.gt(other[, axis, level])类似Array.gtDataFrame.le(other[, axis, level])类似Array.leDataFrame.ge(other[, axis, level])类似Array.geDataFrame.ne(other[, axis, level])类似Array.neDataFrame.eq(other[, axis, level])类似Array.eqDataFrame.combine(other, func[, fill_value, …])Add two DataFrame objects and do not propagate NaN values, so if for aDataFrame.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/callablesDataFrame.transform(func, *args, **kwargs)Call function producing a like-indexed NDFrameDataFrame.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 axisDataFrame.any([axis, bool_only, skipna, level])Return whether any element is True over requested axisDataFrame.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 objectDataFrame.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 theDataFrame.drop(labels[, axis, level, …])返回删除的列DataFrame.drop_duplicates([subset, keep, …])Return DataFrame with duplicate rows removed, optionally onlyDataFrame.duplicated([subset, keep])Return boolean Series denoting duplicate rows, optionally onlyDataFrame.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 criteriaDataFrame.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.takeDataFrame.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 anyDataFrame.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 axisDataFrame.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 axisDataFrame.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, optionallyDataFrame.TTranspose index and columnsDataFrame.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 withoutDataFrame.shift([periods, freq, axis])Shift index by desired number of periods with an optional time freqDataFrame.first_valid_index()Return label for first non-NA/null valueDataFrame.last_valid_index()Return label for last non-NA/null valueDataFrame.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 desiredDataFrame.to_timestamp([freq, how, axis, copy])Cast to DatetimeIndex of timestamps, at beginning of periodDataFrame.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 methodDataFrame.plot.area([x, y])面积图Area plotDataFrame.plot.bar([x, y])垂直条形图Vertical bar plotDataFrame.plot.barh([x, y])水平条形图Horizontal bar plotDataFrame.plot.box([by])箱图BoxplotDataFrame.plot.density(**kwds)核密度Kernel Density Estimate plotDataFrame.plot.hexbin(x, y[, C, …])Hexbin plotDataFrame.plot.hist([by, bins])直方图HistogramDataFrame.plot.kde(**kwds)核密度Kernel Density Estimate plotDataFrame.plot.line([x, y])线图Line plotDataFrame.plot.pie([y])饼图Pie chartDataFrame.plot.scatter(x, y[, s, c])散点图Scatter plotDataFrame.boxplot([column, by, ax, …])Make a box plot from DataFrame column optionally grouped by some columns orDataFrame.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 dictsDataFrame.from_items(items[, columns, orient])Convert (key, value) pairs to DataFrame.DataFrame.from_records(data[, index, …])Convert structured or record ndarray to DataFrameDataFrame.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) fileDataFrame.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 sheetDataFrame.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 DataFramesDataFrame.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 objectsDataFrame.to_msgpack([path_or_buf, encoding])msgpack (serialize) object to input file pathDataFrame.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 SparseDataFrameDataFrame.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. 

   参考文献: 

   http://pandas.pydata.org/pandas-docs/stable/api.html#dataframe

         <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">

            </div>

0 人点赞