Предположим, у меня есть DataFrame sales
значений временной метки:
timestamp sales_office
2014-01-01 09:01:00 Cincinnati
2014-01-01 09:11:00 San Francisco
2014-01-01 15:22:00 Chicago
2014-01-01 19:01:00 Chicago
Я хотел бы создать новый столбец time_hour
. Я могу создать его, написав короткую функцию так и используя apply()
, чтобы применить его итеративно:
def hr_func(ts):
return ts.hour
sales['time_hour'] = sales['timestamp'].apply(hr_func)
Я бы увидел этот результат:
timestamp sales_office time_hour
2014-01-01 09:01:00 Cincinnati 9
2014-01-01 09:11:00 San Francisco 9
2014-01-01 15:22:00 Chicago 15
2014-01-01 19:01:00 Chicago 19
То, что я хотел бы достичь, - это более короткая трансформация, подобная этой (которая, как я знаю, ошибочна, но попадает в дух):
sales['time_hour'] = sales['timestamp'].hour
Очевидно, что столбец имеет тип Series
и как таковой не имеет этих атрибутов, но кажется, что существует более простой способ использования матричных операций.
Существует ли более прямой подход?