我的数据框中有一个timestamp
列,原来是str
类型。一些样本值:
'6/13/2015 6:45:58 AM'
'6/13/2015 7:00:37 PM'
我使用以下代码使用以下代码将此值转换为24小时的datetime:
df['timestampx'] = pd.to_datetime(df['timestamp'], format='%m/%d/%Y %H:%M:%S %p')
而且,我得到了这个结果:
2015-06-13 06:45:58
2015-06-13 07:00:37
这意味着,日期不会以24H格式转换,我也会丢失上午/下午的信息。有什么帮助吗?
答案 0 :(得分:2)
你正在24小时内阅读,但实际上目前的格式不是24小时,而是12小时。使用后缀(AM / PM)将其读入12小时,如果需要,您可以在24小时后输出。
df = pd.DataFrame(['6/13/2015 6:45:58 AM','6/13/2015 7:00:37 PM'], columns = ['timestamp'])
df['timestampx'] = pd.to_datetime(df['timestamp'], format='%m/%d/%Y %I:%M:%S %p')
print df
timestamp timestampx
0 6/13/2015 6:45:58 AM 2015-06-13 06:45:58
1 6/13/2015 7:00:37 PM 2015-06-13 19:00:37