无法将dataframe列转换为24-H格式的datetime

时间:2017-01-28 19:00:33

标签: python datetime pandas dataframe

我的数据框中有一个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格式转换,我也会丢失上午/下午的信息。有什么帮助吗?

1 个答案:

答案 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