我正在尝试将Imputer用于缺失值。 我想跟踪所有缺失值的列,但因为否则我不知道它们(列)已被执行: 是否可以返回包含所有缺失值的列?
Impute Notes
当axis = 0时,只包含拟合缺失值的列是 变换后丢弃。当轴= 1时,如果存在则引发异常 是不能填写缺失值的行 (例如,因为它们只包含缺失值)。
import pandas as pd
import numpy as np
from sklearn.preprocessing import Imputer
data={'b1':[1,2,3,4,5],'b2':[1,2,4,4,0],'b3':[0,0,0,0,0]}
X= pd.DataFrame(data)
Imp = Imputer(missing_values=0)
print (Imp.fit_transform(X))
print(X)
b1 b2 b3
0 1 1 0
1 2 2 0
2 3 4 0
3 4 4 0
4 5 0 0
runfile
[[ 1. 1. ]
[ 2. 2. ]
[ 3. 4. ]
[ 4. 4. ]
[ 5. 2.75]]
答案 0 :(得分:1)
Imputer
类的statistics_
属性将返回每列的填充值,包括丢弃的值。
statistics _ :形状数组(n_features,)
如果轴== 0,则每个要素的插补填充值。
Imp.statistics_
array([3. , 2.75, nan])
获取所有"缺少"的列的列名称的示例值。
nanmask = np.isnan(Imp.statistics_)
nanmask
array([False, False, True])
X.columns[nanmask]
Index([u'b3'], dtype='object')