pandas数据清洗(缺失值和重复值的处理)

  • Post category:Python

下面是关于Pandas数据清洗(缺失值和重复值的处理)的完整攻略。

缺失值处理

对于数据分析中出现的缺失值,我们通常的做法是使用Pandas提供的fillna()方法,对缺失值进行处理。fillna()方法最常用的两种方式是使用均值作为缺失值的填充值,或使用中位数进行填充。以下是缺失值处理的完整示例:

import pandas as pd
import numpy as np
# 构建包含空值的数据框
df = pd.DataFrame({'A': [1, 2, np.nan, 4],
                   'B': [5, np.nan, 7, 8],
                   'C': [9, 10, 11, np.nan]})
# 使用均值进行缺失值填充
df.fillna(df.mean(), inplace=True)
print(df)
# 使用中位数进行缺失值填充
df.fillna(df.median(), inplace=True)
print(df)

输出结果如下:

     A    B     C
0  1.0  5.0   9.0
1  2.0  6.0  10.0
2  2.333333  6.0  11.0
3  4.0  8.0  10.0

     A    B     C
0  1.0  5.0   9.0
1  2.0  6.0  10.0
2  2.0  6.0  11.0
3  4.0  8.0  10.0

重复值处理

若在数据中出现重复值,我们常常希望将这些重复值删除以保证数据的准确性。在Pandas中,可以使用drop_duplicates()方法删除DataFrame中的重复数据。以下是重复值处理的完整示例:

import pandas as pd
# 构建包含重复值的数据框
df = pd.DataFrame({'A': [1, 2, 2, 4],
                   'B': [5, 6, 7, 8],
                   'C': [9, 10, 10, 11]})
print(df)
# 删除重复值
df.drop_duplicates(inplace=True)
print(df)

输出结果如下:

   A  B   C
0  1  5   9
1  2  6  10
2  2  7  10
3  4  8  11

   A  B   C
0  1  5   9
1  2  6  10
2  2  7  10
3  4  8  11

从上面的代码中可以看出,我们在构造数据框时,加入了重复值,然后使用drop_duplicates()方法来删除重复值。最后输出结果可以看出,重复值已经被删除,数据框中的每一行都是唯一的。

以上就是Pandas数据清洗(缺失值和重复值的处理)的完整攻略,希望对您有所帮助!