Python SimpleImputer模块

28 Aug 2025 | 4 分钟阅读

在本教程中,我们将学习 Sklearn 库的 SimpleImputer 模块,它以前被称为 impute 模块,但在 Sklearn 库的最新版本中已更新。我们将讨论 SimpleImputer 类以及如何使用它来处理数据集中的缺失数据,并使用 Python 程序替换数据集中的缺失值。

SimpleImputer 类

Scikit-learn 中用于处理预测模型数据集中缺失值的类称为 SimpleImputer 类。借助此类的帮助,我们可以将数据集中的 NaN(缺失值)值替换为指定的占位符。我们可以通过在程序中使用 SimpleImputer() 方法来实现和使用此模块类。

SimpleImputer() 方法的语法

要在 Python 程序中实现 SimpleImputer() 类方法,我们必须使用以下语法

参数: 以下是使用 SimpleImputer() 方法时必须定义的参数

  1. missingValues: 它是 SimpleImputer() 方法中缺失值的占位符,必须在执行期间进行插补,默认情况下,缺失值占位符的值为 NaN。
  2. strategy:它是将替换数据集中缺失值(NaN 值)的数据,默认情况下,此参数的值方法是“Mean”。SimpleImputer() 方法的 strategy 参数可以接受“Mean”、“Mode”、“Median”(集中趋势测量方法)和“Constant”值输入。
  3. fillValue: 此参数仅在策略参数中我们给定“Constant”作为替换值方法时才使用。我们必须为策略参数定义一个常量值,该值将替换数据集中的 NaN 值。

SimpleImputer 类是 Sklearn 库的模块类,要使用此类的,如果我们的系统中尚未安装 Sklearn 库,我们首先需要安装它。

Sklearn 库的安装

我们可以使用系统命令终端提示符中的以下命令安装 Sklearn

按下回车键后,sklearn 模块将开始在我们的设备中安装,如下所示

Python SimpleImputer module

现在,Sklearn 模块已安装在我们的系统中,我们可以继续使用 SimpleImputer 类函数。

使用 SimpleImputer 类处理数据集中的 NaN 值

现在,我们将在 Python 程序中使用 SimpleImputer 类来处理数据集中存在的缺失值(我们将在程序中使用)。我们将在示例程序中定义一个数据集,同时给出一些缺失值,然后我们使用 SimpleImputer 类方法通过定义其参数来处理数据集中的这些值。让我们通过一个示例 Python 程序来理解这一点。

示例 1: 查看以下 Python 程序,其中包含一个定义了 NaN 值的数据集

输出

The Original Dataset we defined in the program: 
 [[32, nan, 34, 47], [17, nan, 71, 53], [19, 29, nan, 79], [nan, 31, 23, 37], [19, nan, 79, 53]]
The imputed dataset after replacing missing values from it: 
 [[32.   30.   34.   47.  ]
 [17.   30.   71.   53.  ]
 [19.   29.   51.75 79.  ]
 [21.75 31.   23.   37.  ]
 [19.   30.   79.   53.  ]]

说明

我们首先将 numpy 模块(用于定义数据集)和 sklearn 模块(用于使用 SimpleImputer 类方法)导入到程序中。然后,我们定义了 imputer 来使用 SimpleImputer 类方法处理缺失值,并且我们使用了“mean”策略来替换数据集中的缺失值。之后,我们使用 numpy 模块函数在程序中定义了一个数据集,并给出了一些缺失值(NaN 值)在数据集中。然后,我们输出原始数据集。之后,我们使用 SimpleImputer 类中定义的 imputer 对数据集进行了插补并替换了缺失值。插补数据集并替换其中的缺失值后,我们输出了新的数据集作为结果。

正如我们在输出中看到的,插补值数据集在缺失值的位置包含平均值,这就是我们如何使用 SimpleImputer 模块类来处理数据集中的 NaN 值。

结论

我们在此方法中阅读了 SimpleImputer 类方法,并学习了如何使用它来处理数据集中存在的 NaN 值。我们学习了用于定义替换数据集 NaN 值的方法的策略值参数。我们还了解了 Sklearn 库的安装,最后,我们在一个示例中使用了 SimpleImputer 类方法来插补数据集。