如何在python中将值分配到组中

时间:2015-01-28 02:59:27

标签: python-2.7 machine-learning

我有一个随时间变化的动作数据集,一个属性'小时' (包含0 - > 23的值)。现在我想创建另一个属性,比如说'PartOfDay',它将24小时分为4个部分。因为元组有“小时”和“小时”。值为0到5,然后是' PartOfDay'值应为1;如果'小时' [6,11]中的值,然后是'PartOfDay'价值应该是2; ......我该怎么办?

代码会这样做:

train['PartOfDay']=1
train.loc[(train.Hour>=6) & (train.hour<=11),'PartOfDay']=2
train.loc[(train.Hour>=12) & (train.hour<=17),'PartOfDay']=3
train.loc[(train.Hour>=18) & (train.hour<=23),'PartOfDay']=4

但它看起来并不那么美丽,如果可能,我想知道一个更体面的

感谢您的支持!!

1 个答案:

答案 0 :(得分:0)

虽然不清楚train.loc代表什么,但问题的一般方法是使用模数函数来设置RHS:

 1 + int(train.Hour / 6)