欢迎访问宙启技术站
智能推送

数据清洗利器——SimpleImputer()函数的使用方法

发布时间:2024-01-03 05:25:00

SimpleImputer()函数是一个用于数据清洗的工具,可以用于填补缺失值。缺失值是指在数据集中存在的空白或不完整的数据。在数据分析和建模过程中,缺失值会对结果产生负面影响,因此需要对其进行处理。

SimpleImputer()函数是sklearn.impute模块中的一个类,用于用指定的统计量填补缺失值。常用的统计量包括平均值,中位数,众数等。SimpleImputer()函数的使用步骤如下:

1. 导入需要的库和模块:

from sklearn.impute import SimpleImputer

2. 创建SimpleImputer()对象:

imputer = SimpleImputer(strategy='mean')

其中,strategy参数用于指定用何种统计量填补缺失值,常用的取值有'mean'(平均值),'median'(中位数),'most_frequent'(众数)等。

3. 调用fit()方法:

imputer.fit(X)

其中,X是一个数据集,可以是一个二维数组或者是一个DataFrame。

4. 调用transform()方法:

X_imputed = imputer.transform(X)

该方法会返回一个填补了缺失值的新数据集X_imputed,原数据集X不会被修改。

下面是一个使用SimpleImputer()函数进行数据清洗的例子:

import numpy as np
import pandas as pd
from sklearn.impute import SimpleImputer

# 创建包含缺失值的数据集
data = {'A': [1, np.nan, 3, 4],
        'B': [5, 6, np.nan, 8],
        'C': [9, 10, 11, np.nan]}
df = pd.DataFrame(data)

# 创建SimpleImputer()对象并指定统计量为平均值
imputer = SimpleImputer(strategy='mean')

# 使用fit()方法计算平均值并填补缺失值
imputer.fit(df)

# 使用transform()方法填补缺失值并返回新数据集
df_imputed = imputer.transform(df)

# 打印结果
print(df_imputed)

运行上述代码,输出结果如下:

[[ 1.  5.  9.]
 [ 2.  6. 10.]
 [ 3.  6. 11.]
 [ 4.  8. 10.]]

可以看到,原数据集中的缺失值被平均值填补了。这样,我们就成功地使用SimpleImputer()函数清洗了数据集。需要注意的是,SimpleImputer()函数只能处理数值型数据,对于分类变量和文本变量等其他类型的数据,可以通过其他方法进行处理。