列缺失值

时间:2018-06-14 09:54:16

标签: python scikit-learn preprocessor

我正在尝试将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]]

1 个答案:

答案 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')