Python:在 Dataframe 索引上使用 Imputer 处理 NaN 值
Python: Dealing with NaN Values using Imputer on Dataframe index wise
我有一个包含一些 NaN 值的数据,我想使用 imputer
.
填充 NaN 值
from sklearn.preprocessing import Imputer
imp = Imputer(missing_values='NaN', strategy='mean', axis=1)
cleaned_data = imp.fit_transform(original_data)
到目前为止我知道 imputer
适用于整个专栏 像这样:
Point1 Point2
S.No
2 NaN
1 NaN 4
2 NaN
NaN 4
2 2 NaN
NaN 4
应用插补后数据如下所示:
Point1 Point2
S.No
2 2
1 1 4
2 2
1 4
2 2 2
1 4
但我希望 imputer 工作索引明智的名称为 S.No
Point1 Point2
S.No
2 1.33
1 1.333 4
2 1.33
0.667 4
2 2 2.667
0.667 4
可以像这样或不这样实现 imputer
或者在 DataFrame
上的 python
中有任何替代方法可以像这样实现。
imp = Imputer(missing_values=np.NaN,strategy='mean',axis=1)
for S.No in range (start,end):
for col in list(Data.select_dtypes(include=['float']).columns):
Data[col][S.No] = imp.fit_transform(Data[col][S.No])
我有一个包含一些 NaN 值的数据,我想使用 imputer
.
from sklearn.preprocessing import Imputer
imp = Imputer(missing_values='NaN', strategy='mean', axis=1)
cleaned_data = imp.fit_transform(original_data)
到目前为止我知道 imputer
适用于整个专栏 像这样:
Point1 Point2
S.No
2 NaN
1 NaN 4
2 NaN
NaN 4
2 2 NaN
NaN 4
应用插补后数据如下所示:
Point1 Point2
S.No
2 2
1 1 4
2 2
1 4
2 2 2
1 4
但我希望 imputer 工作索引明智的名称为 S.No
Point1 Point2
S.No
2 1.33
1 1.333 4
2 1.33
0.667 4
2 2 2.667
0.667 4
可以像这样或不这样实现 imputer
或者在 DataFrame
上的 python
中有任何替代方法可以像这样实现。
imp = Imputer(missing_values=np.NaN,strategy='mean',axis=1)
for S.No in range (start,end):
for col in list(Data.select_dtypes(include=['float']).columns):
Data[col][S.No] = imp.fit_transform(Data[col][S.No])