小编Dan*_*ack的帖子

熊猫:直接从日期时间列返回小时

假设我有一个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,因此没有这些属性,但似乎有一种更简单的方法来使用矩阵运算.

有更直接的方法吗?

python datetime pandas

40
推荐指数
4
解决办法
7万
查看次数

标签 统计

datetime ×1

pandas ×1

python ×1