熊猫.dt.hour格式化

Lea*_*wly 4 python pandas

datetime64[ns]在pandas数据帧中有一个格式对象.

我可以使用此列来计算小时:

df['hour'] = df['datetime'].dt.hour
Run Code Online (Sandbox Code Playgroud)

这将返回一个整数.例如:

datetime                        hour
19-10-2015 2015-10-19 01:00:00  1  
Run Code Online (Sandbox Code Playgroud)

hour01:00:00时间格式输出列的最简单方法是什么?

jez*_*ael 8

我想你需要dt.time:

df['hour'] = df['datetime'].dt.time
print (df)
             datetime      hour
0 2015-10-19 01:00:00  01:00:00
Run Code Online (Sandbox Code Playgroud)

但是如果需要将日期时间截断为几小时:

df['hour'] = df['datetime'].values.astype('<M8[h]')
df['hour'] = df['hour'].dt.time
print (df)
             datetime      hour
0 2015-10-19 01:00:00  01:00:00
1 2015-10-19 01:50:00  01:00:00
Run Code Online (Sandbox Code Playgroud)

有点破解 - strftime并添加字符串:00:00:

df['hour'] = df['datetime'].dt.strftime('%H').add(':00:00')
print (df)
             datetime      hour
0 2015-10-19 01:00:00  01:00:00
1 2015-10-19 01:50:00  01:00:00
Run Code Online (Sandbox Code Playgroud)