熊猫标准化条件

时间:2018-04-13 03:34:20

标签: python pandas scikit-learn

我需要一些关于标准化条件的帮助,如何标准化一列数据

     Score       Rating     Result
1    20          1200      -1.264911064
2    30          1300      -1.264911064
3    40          1200      -0.632455532
4    50          1300      -0.632455532
5    60          1200       0
6    70          1300       0
7    80          1200       0.632455532
8    90          1300       0.632455532
9    100         1200       1.264911064
10   110         1300       1.264911064

我正在尝试标准化所有具有相同评级的scoers,即标准化所有评分为1200和1300的评分。 scikit-learn。 preprocessing.scalar似乎不支持这个功能。

1 个答案:

答案 0 :(得分:2)

Groupby Rating,然后对于每个子组,您可以使用transform来计算标准化的Z得分:

df['Result'] = df.groupby('Rating').transform(lambda x: (x-x.mean()) / x.std())

这将为您提供所需的输出:

   Score  Rating    Result
0     20    1200 -1.264911
1     30    1300 -1.264911
2     40    1200 -0.632456
3     50    1300 -0.632456
4     60    1200  0.000000
5     70    1300  0.000000
6     80    1200  0.632456
7     90    1300  0.632456
8    100    1200  1.264911
9    110    1300  1.264911