文章目录
- 1 缺失值处理
- 1.1 查看缺失值 df.isnull()
- 1.2 统计缺失值 df.isnull().sum()
- 1.3 删除缺失值 df.drop()
- 1.4 填充缺失值 df.fillna()
- 1.4.1 固定值填充 df.fillna(value)
- 1.4.2 线性插值填充 df.fillna(df.interpolate())
- 2 重复值处理
- 2.1 查看重复值 df.duplicated()
- 2.2 筛选重复值 df[df.duplicated()]
- 2.3 删除重复值 df.drop_duplicates()
- 3 排序
- 3.1 按照索引排序 df.sort_index
- 3.2 按照值进行排序 df.sort_values
- 3.3 数值型数据快速排序 df.nlargest
- 4 替换 df.replace
1 缺失值处理
1.1 查看缺失值 df.isnull()
df.isnull() #将空值转换为真
df.notnull() #空值转换为假
配合上面的功能,使用掩码提取对应数据
df[df.column名.isnull()]
df[df.column名.notnull()]
1.2 统计缺失值 df.isnull().sum()
df.isnull().sum()
1.3 删除缺失值 df.drop()
axis0: 删除行数据1: 删除列数据
subset: 参数表示删除时只考虑的索引或列名
thresh: 当数据有效值超过thresh参数值的时候,则数据会予以保留,否则会被删除
1.4 填充缺失值 df.fillna()
1.4.1 固定值填充 df.fillna(value)
- value: 固定值填充
- method
- ffill #用上面最近的一个非空值填充
- bfill #用下面最近的一个非空值填充
- df.fillna(method=“bfill”,limit=2,axis=1) #限制轴信息
1.4.2 线性插值填充 df.fillna(df.interpolate())
用上面非空值的线性插值填充数据
df.fillna(df.interpolate())
2 重复值处理
2.1 查看重复值 df.duplicated()
2.2 筛选重复值 df[df.duplicated()]
2.3 删除重复值 df.drop_duplicates()
默认保留位置靠前的数据行,可以通过keep来决定两行数据完全相同保留后面的还是前面的。
3 排序
dataFrame进行排序时,可以按照索引排序,也可以按照值进行排序。
3.1 按照索引排序 df.sort_index
df.sort_index() #按照索引进行排序,默认升序排序,axis决定按照行索引还是列索引
ascending=False #降序
df.reset_index() #重置索引,把原来的索引列转化成一个普通列,行索引用位置信息做索引名
二维列表排序
3.2 按照值进行排序 df.sort_values
df.sort_values(by = '列名') #按照某一列进行排序
df.sort_values(by =[ '列名','列名'],ascending=[False,True])
3.3 数值型数据快速排序 df.nlargest
df.列名.nlargest() #默认取前五个,先排序,取前五名
df.nlargest(5,'列名')
df.列名.nsmallest() #默认取后五个,先排序,取后五名
df.nsmallest(5,'列名')
4 替换 df.replace
df.replace('xxm','小明',inplace = True) #inplace为True时,原地替换