假设我有一个sales时间戳值的DataFrame :
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
Run Code Online (Sandbox Code Playgroud)
我想创建一个新列time_hour.我可以通过编写一个简短的函数来创建它,并使用apply()迭代应用它:
def hr_func(ts):
return ts.hour
sales['time_hour'] = sales['timestamp'].apply(hr_func)
Run Code Online (Sandbox Code Playgroud)
然后我会看到这个结果:
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
Run Code Online (Sandbox Code Playgroud)
什么我想实现的是这样一些较短的转变(我知道是错误的,但在精神得到):
sales['time_hour'] = sales['timestamp'].hour
Run Code Online (Sandbox Code Playgroud)
显然,列是类型的Series,因此没有这些属性,但似乎有一种更简单的方法来使用矩阵运算.
有更直接的方法吗?