【发布时间】:2017-03-05 09:46:50
【问题描述】:
我正在尝试将字符串转换为 'datetime64[ns]' 格式。小时是非零填充的,我猜这可能会导致问题。
数据示例:
1 8:49:15
2 8:49:16
3 8:49:17
Name: time, dtype: object
我用来将字符串转换为时间的代码:
dfp['time'] = pd.to_datetime(dfp['time'], format='%H:%M:%S')
我也试过了:
time_tansformed = []
for t in dfp['time']:
time_i = datetime.datetime.strptime(t, "%H:%M:%S")
time_tansformed.append(time_i)
我得到了同样的错误:
ValueError: time data ' 1:00:00' does not match format '%H:%M:%S' (match)
我在 Win10 上使用 Python 3.5 (Anaconda)。
如何将其转换为时间格式? 我应该添加 0 来填充小时数还是有其他方法?
【问题讨论】:
-
你试过
pd.to_datetime(dfp['time'])(不指定格式)吗? -
是的。它没有用。它给出了一个错误:'OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 1-01-01 01:00:00'
-
pd.to_datetime(dfp['time'])在没有指定格式的情况下为带有前导空格的字符串工作...我使用的是 Pandas 0.19.0
标签: python datetime pandas time strptime