使用MinMaxScaler标准化adjency矩阵(在pandas中)

时间:2016-07-06 11:16:38

标签: python pandas normalization adjacency-matrix

我有一个项目与项目的附属矩阵(dm);两个项目之间的值(例如,item0,item1)是指这些项目一起出现的次数。如何在pandas中缩放0到1之间的所有值?

from sklearn import preprocessing
scaler = preprocessing.MinMaxScaler()

但是,我不确定如何将缩放器应用于pandas数据框。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用loc:

将结果数组分配回数据框
df = pd.DataFrame(np.random.randint(1, 5, (5, 5)))

df
Out[277]: 
   0  1  2  3  4
0  2  3  2  3  1
1  2  3  4  4  2
2  2  3  4  3  2
3  1  1  2  1  4
4  4  2  2  3  1

df.loc[:,:] = scaler.fit_transform(df)

df
Out[279]: 
          0    1    2         3         4
0  0.333333  1.0  0.0  0.666667  0.000000
1  0.333333  1.0  1.0  1.000000  0.333333
2  0.333333  1.0  1.0  0.666667  0.333333
3  0.000000  0.0  0.0  0.000000  1.000000
4  1.000000  0.5  0.0  0.666667  0.000000

您可以使用(df - df.min()) / (df.max() - df.min())执行相同操作。