Python/Pandas:数组(返回)到 DataFrame

Python/Pandas: Array (back) to DataFrame

我应用了以下函数来规范化数据框中的列。

from sklearn.preprocessing import normalize

pd.DataFrame(normalize(traffic, norm='l2', axis=1, copy=True, return_norm=False))

但是,这个函数returns一个数组

array([[ 0.19781966,  0.21981735,  0.        , ...,  0.05655909,
         0.        ,  0.00033033],
       [ 0.18050277,  0.2031944 ,  0.        , ...,  0.15848418,
         0.        ,  0.00032616],
       [ 0.14110768,  0.16995336,  0.        , ...,  0.0820779 ,
         0.        ,  0.00023619],

有没有办法将规范化数据写入原始 "traffic" 数据帧并替换原始值?

我在申请时意识到

pd.DataFrame(normalize(traffic, norm='l2', axis=1, copy=True, return_norm=False))

所有原始列名和索引都消失了。

如果 normalize 函数 returns 一个与 traffic DF 相同形状的数组,你可以这样做:

pd.DataFrame(normalize(traffic, norm='l2', axis=1, copy=True, return_norm=False),
             columns=traffic.columns, index=traffic.index)