> 文章列表 > python学习——缺失值、重复值处理、排序及替换

python学习——缺失值、重复值处理、排序及替换

python学习——缺失值、重复值处理、排序及替换

文章目录

  • 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() #空值转换为假

python学习——缺失值、重复值处理、排序及替换

配合上面的功能,使用掩码提取对应数据

df[df.column名.isnull()]
df[df.column名.notnull()]

python学习——缺失值、重复值处理、排序及替换

1.2 统计缺失值 df.isnull().sum()

df.isnull().sum()

python学习——缺失值、重复值处理、排序及替换

1.3 删除缺失值 df.drop()

axis0: 删除行数据1: 删除列数据
subset: 参数表示删除时只考虑的索引或列名
thresh: 当数据有效值超过thresh参数值的时候,则数据会予以保留,否则会被删除

python学习——缺失值、重复值处理、排序及替换python学习——缺失值、重复值处理、排序及替换python学习——缺失值、重复值处理、排序及替换
python学习——缺失值、重复值处理、排序及替换

1.4 填充缺失值 df.fillna()

1.4.1 固定值填充 df.fillna(value)

  1. value: 固定值填充
  2. method
  • ffill #用上面最近的一个非空值填充
  • bfill #用下面最近的一个非空值填充
  • df.fillna(method=“bfill”,limit=2,axis=1) #限制轴信息
    python学习——缺失值、重复值处理、排序及替换
    python学习——缺失值、重复值处理、排序及替换
    python学习——缺失值、重复值处理、排序及替换
    python学习——缺失值、重复值处理、排序及替换

1.4.2 线性插值填充 df.fillna(df.interpolate())

用上面非空值的线性插值填充数据

df.fillna(df.interpolate())

2 重复值处理

2.1 查看重复值 df.duplicated()

在这里插入图片描述在这里插入图片描述

2.2 筛选重复值 df[df.duplicated()]

python学习——缺失值、重复值处理、排序及替换

2.3 删除重复值 df.drop_duplicates()

默认保留位置靠前的数据行,可以通过keep来决定两行数据完全相同保留后面的还是前面的。
python学习——缺失值、重复值处理、排序及替换
python学习——缺失值、重复值处理、排序及替换

3 排序

dataFrame进行排序时,可以按照索引排序,也可以按照值进行排序。

3.1 按照索引排序 df.sort_index

df.sort_index()  #按照索引进行排序,默认升序排序,axis决定按照行索引还是列索引
ascending=False  #降序
df.reset_index()  #重置索引,把原来的索引列转化成一个普通列,行索引用位置信息做索引名

二维列表排序
python学习——缺失值、重复值处理、排序及替换python学习——缺失值、重复值处理、排序及替换

3.2 按照值进行排序 df.sort_values

df.sort_values(by = '列名') #按照某一列进行排序
df.sort_values(by =[ '列名','列名'],ascending=[False,True])

python学习——缺失值、重复值处理、排序及替换

3.3 数值型数据快速排序 df.nlargest

df.列名.nlargest() #默认取前五个,先排序,取前五名
df.nlargest(5,'列名')
df.列名.nsmallest() #默认取后五个,先排序,取后五名
df.nsmallest(5,'列名')

python学习——缺失值、重复值处理、排序及替换

4 替换 df.replace

df.replace('xxm','小明',inplace = True) #inplace为True时,原地替换

python学习——缺失值、重复值处理、排序及替换