如何将值分配到 python 中的组中
How to distribute values into group in python
我有一个随时间变化的动作数据集,一个属性 'Hour'(包含 0 ->23 的值)。现在我想创建另一个属性,比如 'PartOfDay',它将 24 小时分为 4 个部分。对于元组的 'Hour' 值为 0 到 5,则 'PartOfDay' 值应为 1;如果 [6,11] 中的 'Hour' 值,则 '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
不过好像不是很漂亮,如果可以的话想知道一个比较像样的
感谢大家的支持!!
虽然不清楚 train.loc 代表什么,但解决您的问题的一般方法是使用模函数来设置 RHS:
1 + int(train.Hour / 6)
我有一个随时间变化的动作数据集,一个属性 'Hour'(包含 0 ->23 的值)。现在我想创建另一个属性,比如 'PartOfDay',它将 24 小时分为 4 个部分。对于元组的 'Hour' 值为 0 到 5,则 'PartOfDay' 值应为 1;如果 [6,11] 中的 'Hour' 值,则 '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
不过好像不是很漂亮,如果可以的话想知道一个比较像样的
感谢大家的支持!!
虽然不清楚 train.loc 代表什么,但解决您的问题的一般方法是使用模函数来设置 RHS:
1 + int(train.Hour / 6)