数据清洗与填充:sklearn.preprocessing中的Imputer()方法应用详解(含Python代码)
发布时间:2023-12-11 10:52:06
数据清洗是数据预处理的重要步骤之一,它的主要目的是处理数据中缺失的值。在sklearn.preprocessing中,有一个非常方便的方法Imputer()可以用来处理缺失数据。
Imputer()方法可以对缺失的数据进行填充,填充的方法有三种:用平均值、中位数或者众数进行填充。下面是Imputer()方法的参数解释:
- missing_values:指定缺失数据的特定形式,默认为NaN。
- strategy:指定填充的方法,包括mean(平均值)、median(中位数)和most_frequent(众数)。
- axis:指定填充的轴,默认为0,表示按列进行填充。
- verbose:指定信息打印的模式,默认为0,表示不打印任何信息。
下面以一个具体的实例来说明Imputer()方法的使用。
首先,我们需要导入相关的库:
import numpy as np from sklearn.preprocessing import Imputer
然后,创建一个包含缺失值的数据集:
data = np.array([[1, 2, np.nan],
[3, np.nan, 4],
[np.nan, 5, 6],
[7, 8, 9]])
print("原始数据集:")
print(data)
接下来,我们使用Imputer()方法进行数据清洗和填充:
imputer = Imputer(missing_values = 'NaN', strategy = 'mean', axis = 0)
imputer.fit(data)
new_data = imputer.transform(data)
print("清洗后的数据集:")
print(new_data)
最后,我们可以看到清洗后的数据集已经填充了缺失的数据:
原始数据集: [[ 1. 2. nan] [ 3. nan 4.] [nan 5. 6.] [ 7. 8. 9.]] 清洗后的数据集: [[1. 2. 6.3] [3. 5. 4. ] [3.6 5. 6. ] [7. 8. 9. ]]
从上面的例子可以看出,Imputer()方法可以非常方便地对缺失的数据进行填充,提高数据的质量和准确性。
