[toc]
简介
- 强大的数据分析和探索工具
- 包含高级的数据结构和精巧的工具
- 构建在Numpy之上
- 需要安装
xlrd和xlwt支持excel文件读写
数据结构
Series
- 序列, 类似于一维数组
获取值
1 | s.values |
DataFrame
- 相当于一张二维的表格, 类似二维数组
- 每一列都是一个Series
处理CSV文件
读取文件
1 | # 读取csv文件,并转化为DataFrame |
导出文件
1 | df.to_csv("output.csv", index=False) |
DataFrame方法
数据探索
读取列
1 | print(data.columns) |
选取数据
ilocDF.clomun_name: 通过列名选择
打印列的类型
1 | df['Column'].dtype |
过滤行
1 | df['Column'][df['Column'].isna()] |
转换类型
1 | df['Column'] = df['Column'].astype(str) |
NaN 值处理
包含 NaN 的列
1 | for c in df.loc[:, df.isna().any()]: |
打印每列包含 NaN 的列数
1 | df.isna().sum() |
填充 NaN 值
1 | df['Column'] = df['Column'].fillna(df['Column'].mean()) # 是用 Column 的平均值填充该列的 NaN 值 |
其他
iloc
从DataFrame中选择数据
1 | df.iloc[:] # 选择所有行,所有列 |
示例程序
1 | ## With Series |
mean
计算均值
1 | import pandas as pd |
dropna
1 | DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False) |
axis0: 行1: 列- 元组/列表 : 处理多维数据
howany: 只要有一个值为NA,则删除该标签all: 所有值均为NA,则删除该标签
thresh- 整数值,默认为空
- 如果非
NA值数量大于该值,则保留该标签
subset- 序列格式参数(
array-like) - 只考虑给定标签的值
- 序列格式参数(
inplaceTrue: 在原始数据集上进行操作,返回NoneFalse: 返回新的数据集,保持原始数据集不变
删除列
1 | df.dorp('column-name', axis=1) |
示例程序
1 | import pandas as pd |