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’])#根据数据类型选取子数据框,<class ‘pandas.core.frame.DataFrame’>
DataFrame.ndim#返回数据框的纬度<class ‘int’>
DataFrame.size#返回数据框元素的个数<class ‘numpy.int32’>
DataFrame.shape#返回数据框的形状<class ‘tuple’>
DataFrame.memory_usage()#返回每列的内存使用情况(以字节为单位)
DataFrame.astype(‘str’)#转换数据类型
pd.to_datetime(DataFrame, format=‘%Y-%m-%d %H:%M:%S’)#转换成时间类型
DataFrame.copy()#复制数据
DataFrame.isnull()#以布尔的方式返回空值<class ‘pandas.core.frame.DataFrame’>
DataFrame.notnull()#以布尔的方式返回非空值<class ‘pandas.core.frame.DataFrame’>

索引和迭代

DataFrame.head(n)#返回前n行数据
DataFrame.tail(n)#返回后n行数据
DataFrame.pop(item)#返回删除的项目
DataFrame.isin(list)#是否等于list中某值<class ‘pandas.core.frame.DataFrame’>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()#返回每列非空元素的个数<class ‘pandas.core.series.Series’>
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()#返回按给定的索引/列值组织的重整型DataFramepandas.DataFrame.pivot
DataFrame.sort_values()沿任一轴的值排序
DataFrame.sort_index()按标签(沿轴)对对象排序
DataFrame.nlargest()返回按列降序排列的前n行pandas.DataFrame.nlargest
DataFrame.nsmallest()返回按列升序排列的前n行
DataFrame.stack()降维<class ‘pandas.core.series.Series’>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()将新列分配给DataFramepandas.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[:,‘学校’]

使用None代替null
df = df.where(df.notnull(), None)

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值