我需要在小时截断以下日期时间戳。我在Pandas的Python中找不到一个好的解决方案。
原始数据如下:
0 2013-01-01 05:39:00
1 2013-01-01 09:04:00
2 2013-01-01 13:16:00
3 2013-01-01 13:14:00
4 2013-01-01 14:51:00
Name: entry_time, dtype: datetime64[ns]
我可能需要它:
0 2013-01-01 05:00:00
1 2013-01-01 09:00:00
2 2013-01-01 13:00:00
3 2013-01-01 13:00:00
4 2013-01-01 14:00:00
答案 0 :(得分:1)
您可以按values
将列转换为numpy.ndarray
并将其转换为numpy.ndarray.astype
:
df['entry_time'] = df['entry_time'].values.astype('<M8[h]')
print df
entry_time
0 2013-01-01 05:00:00
1 2013-01-01 09:00:00
2 2013-01-01 13:00:00
3 2013-01-01 13:00:00
4 2013-01-01 14:00:00
或者你可以apply
replace
分钟和秒到0
:
df['entry_time'] = df['entry_time'].apply(lambda x: x.replace(minute=0, second=0))
print df
entry_time
0 2013-01-01 05:00:00
1 2013-01-01 09:00:00
2 2013-01-01 13:00:00
3 2013-01-01 13:00:00
4 2013-01-01 14:00:00
答案 1 :(得分:0)