DropMissingData#
- class feature_engine.imputation.DropMissingData(missing_only=True, threshold=None, variables=None)[源代码][源代码]#
DropMissingData() 删除包含缺失值的行。它提供了与
pandas.drop_na()
类似的功能,但在fit
和transform
框架内。它适用于数值和分类变量。您可以输入需要删除缺失值的变量列表。或者,imputer 将查找并删除所有数据框变量中的缺失数据。
更多详情请参阅 用户指南。
- 参数
- 变量: 列表, 默认=无
要考虑插补的变量列表。如果为
None
,插补器将检查数据框中所有变量的缺失数据。或者,插补器将仅评估列表中变量的缺失数据。请注意,如果
missing_only=True
,缺失的数据将从训练集中有缺失数据的变量中移除。这些变量可能是列表中指示的变量的一部分。- missing_only: bool, default=True
如果
True
,在fit()
期间显示缺失数据的变量中,行将被删除。如果False
,如果任何变量中存在缺失数据,行将被删除。此参数仅在threshold=None
时有效,否则将被忽略。- threshold: int 或 float, default=None
要求行中非NA值的百分比以保留该行。如果
threshold=1
,所有变量都需要有数据以保留该行。如果threshold=0.5
,50% 的变量需要有数据以保留该行。如果threshold=0.01
,10% 的变量需要有数据以保留该行。如果thresh=None
,任何变量中有NA的行都将被删除。
- 属性
- 变量_
将检查缺失数据的变量,以决定是否删除某一行。属性
variables_
与参数variables
不同,当后者为None
时,或者当只有指示变量的一部分在训练集中显示为 NA 时(如果missing_only=True
)。- feature_names_in_:
列出在
fit
期间看到的特征名称。- n_features_in_:
在拟合过程中使用的训练集中的特征数量。
示例
>>> import pandas as pd >>> import numpy as np >>> from feature_engine.imputation import DropMissingData >>> X = pd.DataFrame(dict( >>> x1 = [np.nan,1,1,0,np.nan], >>> x2 = ["a", np.nan, "b", np.nan, "a"], >>> )) >>> dmd = DropMissingData() >>> dmd.fit(X) >>> dmd.transform(X) x1 x2 2 1.0 b
方法
拟合:
查找应评估缺失数据的变量。
fit_transform:
拟合数据,然后进行转换。
get_feature_names_out:
获取转换后的输出特征名称。
get_params:
获取此估计器的参数。
set_params:
设置此估计器的参数。
return_na_data:
返回一个包含缺失数据行的数据框。
转换:
删除包含缺失数据的行。
transform_x_y:
从 X 和 y 中移除包含缺失数据的行。
- fit(X, y=None)[源代码][源代码]#
找到那些需要评估缺失数据的变量,以决定是否应删除某一行。
- 参数
- X: pandas 数据框,形状为 [n_samples, n_features]
训练数据集。
- y: pandas Series 或 dataframe, 默认=None
在这个插补中不需要 y。你可以传递 None 或 y。
- fit_transform(X, y=None, **fit_params)[源代码]#
拟合数据,然后进行转换。
使用可选参数
fit_params
将转换器拟合到X
和y
,并返回X
的转换版本。- 参数
- X类似数组的形状 (n_samples, n_features)
输入样本。
- y类似数组的形状 (n_samples,) 或 (n_samples, n_outputs), 默认=None
目标值(无监督变换为None)。
- **fit_参数dict
附加的拟合参数。
- 返回
- X_newndarray 数组的形状为 (n_samples, n_features_new)
转换后的数组。
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请查看 用户指南 以了解路由机制的工作原理。
- 返回
- 路由MetadataRequest
一个封装了路由信息的
MetadataRequest
。
- get_params(deep=True)[源代码]#
获取此估计器的参数。
- 参数
- 深度bool, 默认=True
如果为真,将返回此估计器及其包含的作为估计器的子对象的参数。
- 返回
- 参数dict
参数名称映射到它们的值。
- return_na_data(X)[源代码][源代码]#
返回数据框中包含缺失值的行的子集。也就是说,通过
transform()
方法将被移除的数据框子集。在生产环境中,这种方法可能很有用,例如,如果我们想要存储或记录被移除的观测值,即不会被输入模型的行。- 参数
- X_na: 形状为 [n_samples_with_na, features] 的 pandas dataframe
包含缺失数据行的数据框子集。
- :rtype: :py:class:`~pandas.core.frame.DataFrame`
- set_params(**params)[源代码]#
设置此估计器的参数。
该方法适用于简单的估计器以及嵌套对象(如
Pipeline
)。后者具有<component>__<parameter>
形式的参数,因此可以更新嵌套对象的每个组件。- 参数
- **参数dict
估计器参数。
- 返回
- self估计器实例
估计器实例。
- transform(X)[源代码][源代码]#
删除包含缺失数据的行。
- 参数
- X: pandas 数据框,形状为 [n_samples, n_features]
要转换的数据框。
- 返回
- X_new: pandas 数据框
所选变量的完整案例数据框,形状为 [n_samples - n_samples_with_na, n_features]
- rtype
DataFrame
..
- transform_x_y(X, y)[源代码]#
根据应用于 X 的变换,转换、对齐和调整 X 和 y,确保如果从 X 中删除了任何行,它们对应于相同的行集。
- 参数
- X: pandas 数据框,形状为 [n_samples, n_features]
要转换的数据框。
- y: pandas Series 或 Dataframe,长度 = n_samples
要转换的目标变量。可以是多输出的。
- 返回
- X_new: pandas 数据框
形状为 [n_samples - n_rows, n_features] 的转换后的数据框。它可能包含比原始数据集更少的行。
- y_new: pandas Series 或 DataFrame
转换后的目标变量,长度为 [n_samples - n_rows]。它包含的行数与 X_new 中剩余的行数相同。