dataframe操作

参考: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[:,‘学校’]

你可能感兴趣的:(数据挖掘,python,数据分析)