假设我有一个时间戳值的 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
类型的,因此没有这些属性,但似乎有一种更简单的方法来使用矩阵操作。
有没有更直接的方法?