Python 使用normalizer在sklearn预处理中保留列名

Python 使用normalizer在sklearn预处理中保留列名,python,pandas,numpy,scikit-learn,sklearn-pandas,Python,Pandas,Numpy,Scikit Learn,Sklearn Pandas,我有一个熊猫数据框,如下所示 data = {'First Column Name': ['12.513362', '13.081390', '15.045193'], 'Second Column Name': ['24.597206', '25.526964', '29.153882'], '3rd Column Name': ['nan', 'nan', 'nan'], '4th Column Name': ['nan', '2.545

我有一个熊猫数据框,如下所示

data = {'First Column Name':  ['12.513362', '13.081390', '15.045193'],
        'Second Column Name': ['24.597206', '25.526964', '29.153882'],
        '3rd Column Name':  ['nan', 'nan', 'nan'],
        '4th Column Name':  ['nan', '2.545', '3.89'],
        }

df = pd.DataFrame (data, columns = ['First Column Name','Second Column Name','3rd Column Name', '4th Column Name'])
df
有三行四列。现在,我使用规范化应用以下预处理

fill_NaN = SimpleImputer(missing_values=np.nan, strategy='mean')
df = pd.DataFrame(fill_NaN.fit_transform(df))
normalizer = preprocessing.Normalizer().fit(df)
df=normalizer.transform(df) 
我得到了一个3行3列的out NumPy数组。丢弃一列,该列包含所有的
nan
,这很好


如何使用此规范化保留原始列名?

SimpleImputer
负责将列删除到此处。您可以使用属性
statistics\uu
检测删除的列(索引):它将是
np.nan

统计信息\形状数组(n个特征)

在转换过程中,与
np.nan
统计信息相对应的特征将被丢弃


numpy数组没有列名。熊猫是这样的。