我的数据框中有一个 timestamp
列,它最初是 str
类型。一些示例值:
'6/13/2015 6:45:58 AM'
'6/13/2015 7:00:37 PM'
我使用以下代码将此值转换为 24H 格式的日期时间:
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
这意味着,日期不会转换为 24 小时格式,而且我也会丢失 AM/PM 信息。有什么帮助吗?
最佳答案
您以 24 小时制读取它,但实际上当前格式不是 24 小时制,而是 12 小时制。读取为12小时,加上后缀(AM/PM),然后如果需要的话,可以在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
关于python - 无法将数据帧列转换为 24 小时格式日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41913640/