我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)
hour以01:00:00时间格式输出列的最简单方法是什么?
我想你需要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)