2015-01-28 3 views
0

У меня есть набор данных действий со временем, атрибут «Час» (содержит значения от 0 до> 23). Теперь я хочу создать еще один атрибут, например «PartOfDay», который объединяет 24 часа в 4 части. Для кортежей значение «Час» от 0 до 5, тогда значение «PartOfDay» должно быть 1; если значение «Час» в [6,11], то значение «PartOfDay» должно быть 2; ... Как я могу это сделать?Как распределить значения в группу в python

Кода бы сделать это:

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 

, но это, кажется, не так красиво, я хотел бы знать более приличную, если это возможно

Спасибо за все ваши опоры !!

+0

вы можете дать нам немного полупрозрачный пример кода. – levi

+0

Я добавил! Спасибо! – Tung

ответ

0

Пока не ясно, что train.loc представляет общий подход к вашей проблеме заключается в использовании модуля функции для установки RHS:

1 + int(train.Hour/6) 
+0

спасибо! Это очень полезно! – Tung

Смежные вопросы