官方文档 https://pandas.pydata.org/docs/index.html
数据集 #
列几个数据集用于测试:
- https://learn.microsoft.com/en-us/power-bi/create-reports/sample-financial-download (Financial.xlsx)
- https://www.gairuo.com/file/data/dataset/team.xlsx (team.xlsx)
查看数据 #
df.head() # 头部 5 条
df.tail() # 尾部 5 条
df.sample() # 随机查看 5 条
df.shape # (100, 6) 查看行数和列数
df.info() # 查看索引、数据类型和内存信息
df.describe() # 查看数值型列的汇总统计
df.dtypes # 查看各字段类型
df.axes # 显示数据行和列名
df.columns # 列名
选取数据 #
选择列 #
df["Q1"] # 指定列
df.Q1 # 同上一行
df[['team', 'Q1']] # 只看这两列
df.loc[:, ['team', 'Q1']] # 同上一行
选择行 #
df[df.index == 'Liver'] # 根据索引名称
# 根据自然索引
df[0:3] # 取前三个
df[0:10:2] # 前 10 个每隔两个取一个
df.iloc[:10, :] # 前 10 个
指定行和列 #
df.loc['Ben', 'Q1':'Q4']
df.loc['A': 'D', 'Q1': 'Q4']
条件选择 #
df[df.Q1 > 90] # Q1 大于 90 的
df[df.team == 'C'] # team 列为 'C' 的
df[df.index == 'Oscar'] # 指定 index 名称
运算数据 #
排序 #
df.sort_values(by="Q1", ascending=False) # 按 Q1 降序排列, default is True
分组聚合 #
df.groupby('team').sum() # 求和
df.groupby('team').mean() # 求平均
df.groupby('team').agg({'Q1': sum, 'Q2': count, 'Q3': 'mean', 'Q4': max}) # agg 很强大
数据反转 #
df.T
应该能玩出花。
数据降维 #
df.groupby('team').sum().stack()
df.groupby('team').sum().unstack()
举个例子:
>>> df_single_level_cols
weight height
cat 0 1
dog 2 3
>>> df_single_level_cols.stack()
cat weight 0
height 1
dog weight 2
height 3
dtype: int64
数据统计 #
df.mean()
df.corr() # 返回列与列之间的相关系数
df.max()
df.min()
df.std() # 标准差
df.var() # 方差
df.mode() # 众数
df.median() # 中位数
绘图 #
df.plot()
导出 #
支持 CSV 、 Excel 、 HTML 等常见格式。