我有一个从csv文件读取的值的pandas数据框。我有一列标记为“ SleepQuality”的值从0.0-100.0浮动。我想创建一个新标签为'SleepQualityGroup'的列,其中原始列btw 0-49中的值在新列中的值为0,50-59 = 1,60-69 = 2,70-79 = 3,80 -89 = 4,和90-100 = 5
为了做到这一点,最好的公式是什么?我坚持确定每个范围内的所有值并分配给新值所需的逻辑。
下面在新的“ SleepQualityGroup”列中显示的输出示例。
SleepQuality SleepQualityGroup
80.4 4
90.1 5
66.4 2
50.3 1
86.2 4
75.4 3
45.7 0
91.5 5
61.3 2
54 1
58.2 1
使用pd.cut
即
df['new'] = pd.cut(df['SleepQuality'],bins=[0,50 , 60, 70 , 80 , 90,100], labels=[0,1,2,3,4,5])
输出:
SleepQuality SleepQualityGroup新的 0 80.4 4 4 1 90.1 5 5 2 66.4 2 2 3 50.3 1 1 4 86.2 4 4 5 55.4 5 3 6 45.7 0 0 7 91.5 5 5 8 61.3 2 2 9 54.0 1 1 10 58.2 1 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句