参考:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.corrwith.html
属性和数据
|
|
|
DataFrame.axes |
#[[index: 行标签],[columns: 列标签]] |
|
DataFrame.values |
# 转换为矩阵 |
|
DataFrame.dtypes |
#返回每列数据的类型 |
|
DataFrame.dtypes.value_counts() |
#返回数据框数据类型的个数 |
|
DataFrame.select_dtypes([‘float64’,‘object’]) |
#根据数据类型选取子数据框, |
|
DataFrame.ndim |
#返回数据框的纬度 |
|
DataFrame.size |
#返回数据框元素的个数 |
|
DataFrame.shape |
#返回数据框的形状 |
|
DataFrame.memory_usage() |
#返回每列的内存使用情况(以字节为单位) |
|
DataFrame.astype(‘str’) |
#转换数据类型 |
|
pd.to_datetime(DataFrame, format=’%Y-%m-%d %H:%M:%S’) |
#转换成时间类型 |
|
DataFrame.copy() |
#复制数据 |
|
DataFrame.isnull() |
#以布尔的方式返回空值 |
|
DataFrame.notnull() |
#以布尔的方式返回非空值 |
|
索引和迭代
|
|
|
DataFrame.head(n) |
#返回前n行数据 |
|
DataFrame.tail(n) |
#返回后n行数据 |
|
DataFrame.pop(item) |
#返回删除的项目 |
|
DataFrame.isin(list) |
#是否等于list中某值 |
pandas.DataFrame.isin |
二元运算
|
|
|
DataFrame.add(values) |
#加上values值 |
pandas.DataFrame.add |
DataFrame.sub(values) |
#减法,元素指向 |
|
DataFrame.mul(values) |
#乘法,元素指向 |
|
DataFrame.div(values) |
#小数除法,元素指向 |
|
DataFrame.truediv(values) |
#真除法,元素指向 |
|
DataFrame.floordiv(values) |
#向下取整除法,元素指向 |
|
DataFrame.mod(values) |
#模运算,元素指向 |
|
DataFrame.pow(values) |
#幂运算,元素指向 |
|
DataFrame.rsub(values) |
#右侧减法,元素指向 |
pandas.DataFrame.rsub |
DataFrame.rmul(values) |
#右侧乘法,元素指向 |
|
DataFrame.rdiv(values) |
#右侧小数除法,元素指向 |
|
DataFrame.rtruediv(values) |
#右侧真除法,元素指向 |
|
DataFrame.rfloordiv(values) |
#右侧向下取整除法,元素指向 |
|
DataFrame.rmod(values) |
#右侧模运算,元素指向 |
|
DataFrame.rpow(values) |
#右侧幂运算,元素指向 |
|
函数应用&分组&窗口
|
|
|
DataFrame.apply() |
#应用函数(对每一行\列进行操作) |
pandas.DataFrame.apply |
DataFrame.applymap() |
#应用函数(对每个元素进行操作) |
pandas.DataFrame.applymap |
DataFrame.agg() |
#使用指定轴上的一项或多项操作进行汇总 |
pandas.DataFrame.agg |
DataFrame.groupby() |
#分组 |
|
DataFrame.rolling() |
#滚动窗口 |
|
DataFrame.expanding() |
#拓展窗口 |
|
DataFrame.ewm() |
#指数权重窗口 |
pandas.DataFrame.ewm |
描述统计学
|
|
|
DataFrame.abs() |
#返回绝对值 |
|
DataFrame.all() |
#返回是否全部为True |
|
DataFrame.any() |
#返回是否有为True值 |
|
DataFrame.clip() |
#修剪输入阈值处的值(修改超出范围的值) |
pandas.DataFrame.clip |
DataFrame.count() |
#返回每列非空元素的个数 |
|
DataFrame.cov() |
#计算协方差 |
|
DataFrame.cummax() |
#当前行之前的最大值 |
pandas.DataFrame.cummax |
DataFrame.cummin() |
#当前行之前的最小值 |
|
DataFrame.cumprod() |
#返回累积 |
|
DataFrame.cumsum() |
#返回累和 |
|
DataFrame.pct_change() |
#返回与前一值的百分比变化 |
|
DataFrame.diff() |
#返回与前一值的差 |
|
DataFrame.describe() |
#整体描述数据框 |
pandas.DataFrame.describe |
DataFrame.info() |
显示DataFrame的简要摘要 |
|
DataFrame.diff() |
#元素与规定周期元素的差异 |
pandas.DataFrame.diff |
DataFrame.eval() |
#对数据进行简单操作 |
pandas.DataFrame.eval |
DataFrame.max() |
#返回最大值 |
|
DataFrame.mean() |
#返回均值 |
|
DataFrame.median() |
#返回中位数 |
|
DataFrame.min() |
#返回最小值 |
|
DataFrame.sum() |
#求和 |
|
DataFrame.mode() |
#返回众数 |
|
DataFrame.prod() |
#返回连乘积 |
|
DataFrame.quantile() |
#返回分位数 |
|
DataFrame.rank() |
#返回每列大小的数字排序 |
pandas.DataFrame.rank |
DataFrame.round() |
#四舍五入 |
pandas.DatetimeIndex.round |
DataFrame.sem() |
#返回无偏标准误 |
|
DataFrame.skew() |
#返回无偏偏度 |
|
DataFrame.std() |
#返回标准差 |
|
DataFrame.var() |
#返回方差 |
|
从新索引&选取&标签操作
|
|
|
DataFrame.add_prefix() |
#给索引添加前缀 |
pandas.DataFrame.add_prefix |
DataFrame.add_suffix() |
#给索引添加后缀 |
|
DataFrame.drop() |
#返回删除的列 |
|
DataFrame.drop_duplicates() |
#返回删除重复行后的数据 |
pandas.DataFrame.drop_duplicates |
DataFrame.duplicated() |
#返回表示重复行的布尔系列 |
pandas.DataFrame.duplicated |
DataFrame.equals() |
测试两个对象是否包含相同的元素。 |
|
DataFrame.filter() |
根据指定的索引标签对数据框的行或列进行子集设置 |
|
DataFrame.first() |
此函数可以基于日期偏移量选择前几行 |
pandas.DataFrame.first |
DataFrame.first() |
此函数可以基于日期偏移量选择后几行 |
|
DataFrame.head() |
#返回前n行 |
pandas.DataFrame.head |
DataFrame.tail() |
返回最后n行 |
|
DataFrame.idxmax() |
返回在请求轴上第一次出现最大值的索引 |
pandas.DataFrame.idxmax |
DataFrame.idxmin() |
返回在请求轴上第一次出现最小值的索引 |
|
DataFrame.reindex() |
使用可选的填充逻辑使Series / DataFrame适应新索引 |
pandas.DataFrame.reindex |
DataFrame.reindex_like() |
返回具有匹配索引的对象作为其他对象 |
pandas.DataFrame.reindex_like |
DataFrame.rename() |
更改轴名 |
pandas.DataFrame.rename |
DataFrame.rename_axis() |
更改索引名 |
|
DataFrame.reset_index() |
重置索引 |
|
DataFrame.sample() |
#返回随机抽样 |
pandas.DataFrame.sample |
DataFrame.set_index() |
#使用现有列设置DataFrame索引 |
|
DataFrame.take() |
#沿轴返回给定位置索引中的元素 |
|
DataFrame.truncate() |
在某个索引值之前和之后截断 |
|
处理缺失值:
|
|
|
DataFrame.empty |
指示DataFrame是否为空 |
|
DataFrame.dropna() |
#删除缺失的值 |
|
DataFrame.fillna() |
#填充空值 |
|
DataFrame.replace() |
#替换值 |
|
从新定型&排序&转变形态:
|
|
|
DataFrame.pivot() |
#返回按给定的索引/列值组织的重整型DataFrame |
pandas.DataFrame.pivot |
DataFrame.sort_values() |
沿任一轴的值排序 |
|
DataFrame.sort_index() |
按标签(沿轴)对对象排序 |
|
DataFrame.nlargest() |
返回按列降序排列的前n行 |
pandas.DataFrame.nlargest |
DataFrame.nsmallest() |
返回按列升序排列的前n行 |
|
DataFrame.stack() |
降维 |
pandas.DataFrame.stack |
DataFrame.unstack() |
升维 |
pandas.DataFrame.unstack |
DataFrame.melt() |
取消将DataFrame从宽格式转为长格式,可以选择保留标识符 |
pandas.DataFrame.melt |
DataFrame.T |
转置 |
|
DataFrame.transpose() |
转置 |
|
DataFrame.to_xarray() |
从pandas对象返回一个xarray对象 |
pandas.DataFrame.to_xarray |
DataFrame.append() |
#追加数据 |
|
DataFrame.assign() |
将新列分配给DataFrame |
pandas.DataFrame.assign |
DataFrame.join() |
连接另一个DataFrame的列 |
pandas.DataFrame.join |
DataFrame.merge() |
用数据库样式的联接合并 |
pandas.DataFrame.merge |
DataFrame.update() |
使用来自另一个DataFrame的非NA值就地进行修改 |
pandas.DataFrame.update |
时间序列
|
|
|
DataFrame.asfreq() |
将TimeSeries转换为指定的频率 |
pandas.DataFrame.asfreq |
DataFrame.asof() |
返回where之前没有任何NaN的最后一行。 |
pandas.DataFrame.asof |
DataFrame.shift() |
将索引按期望的周期数移动,并带有可选的时间频率 |
pandas.DataFrame.shift |
DataFrame.first_valid_index() |
返回第一个非NA /空值的索引 |
|
DataFrame.last_valid_index() |
返回最后一个非NA /空值的索引。 |
|
DataFrame.resample() |
重新采样时间序列数据。 |
pandas.DataFrame.resample |
例:
把某一列转化为时间类型:
DataFrame['date']=pd.to_datetime(DataFrame['date'])
DataFrame['date']=pd.to_datetime(DataFrame['date']).apply(lambda x: x.replace(tzinfo=None))
pandas.to_datetime
作图
显示:
import matplotlib.pyplot as plt
plt.pause(1000)
|
|
|
DataFrame.plot() |
画图 |
pandas.DataFrame.plot |
DataFrame.plot.area() |
#面积图 |
|
DataFrame.plot.bar() |
#垂直条形图 |
|
DataFrame.plot.barh() |
#水平条形图 |
|
DataFrame.plot.box() |
#箱图 |
|
DataFrame.plot.density() |
#核密度 |
|
DataFrame.plot.hexbin() |
#六角形装仓图 |
|
DataFrame.plot.hist() |
#直方图 |
|
DataFrame.plot.kde() |
#核密度 |
|
DataFrame.plot.line() |
#线图 |
|
DataFrame.plot.pie() |
#饼图 |
|
DataFrame.plot.scatter() |
#散点图 |
|
转换为其他格式
|
|
|
DataFrame.to_pickle() |
将对象序列化到文件 |
|
DataFrame.to_csv() |
将对象写入csv文件 |
|
DataFrame.to_hdf() |
数据写入HDF5文件。 |
|
DataFrame.to_sql() |
将存储在DataFrame中的记录写入SQL数据库。 |
|
DataFrame.to_dict() |
将DataFrame转换为字典。 |
|
DataFrame.to_excel() |
将对象写入Excel工作表。 |
|
DataFrame.to_json() |
将对象转换为JSON字符串 |
|
DataFrame.to_html() |
将DataFrame呈现为HTML表。 |
|
DataFrame.to_feather() |
将DataFrame写入二进制Feather格式。 |
|
DataFrame.to_latex() |
将对象渲染为LaTeX表格,长表或嵌套表/表格。 |
|
DataFrame.to_stata() |
将DataFrame对象导出为Stata dta格式。 |
|
DataFrame.to_string() |
将DataFrame到控制台完整的表格输出 (str格式) |
|
DataFrame.to_clipboard() |
将对象复制到系统剪贴板。 |
|
==其他
np.array(DataFrame).tolist() 将对象转化为list。
&|~ 与或非
df.index.get_loc(index) index等于ind的行号
series.iloc[0].name index 查看index
多层索引查找
DataFrame: df.query(“类型 == ‘学校’”)
Series: sedf.loc[:,‘学校’]