Pandas.to_datetime()仅在数据框的列上失败

时间:2019-06-27 17:58:50

标签: python python-3.x pandas

对于这个标题,我深表歉意,但是找不到一种更好地表达它的方法。

当我尝试运行

pd.to_datetime(df['TimeStamp'], format='%Y-%m-%d %H:%M:%S.%f')

我收到以下异常:

time data '2019-01-06 15:34:19.000' doesn't match format specified

这次是我数据帧的第一行中包含的时间。它肯定是指定格式的,因此我通过手动将几行从TimeStamp列中直接复制粘贴到Series构造函数中进行了测试:

tempSeries = pd.Series(['2019-01-06 15:34:19.023', '2019-01-06 15:34:19.000'])

当我致电pd.to_datetime(tempSeries, format='%Y-%m-%d %H:%M:%S.%f')时,一切正常。

我应该能够像第一个示例一样通过系列,对吗?任何人都可以对可能发生的事情提出建议吗?

编辑:

根据要求,这里是df['TimeStamp].head().to_dict()

{0: "'2019-01-06 15:36:19.000'",
 1: "'2019-01-06 15:37:19.000'",
 2: "'2019-01-06 15:38:19.000'",
 3: "'2019-01-06 15:39:19.000'",
 4: "'2019-01-06 15:40:19.000'"}

1 个答案:

答案 0 :(得分:1)

您会看到您的字符串是单引号和双引号。

您需要将格式更改为

format="'%Y-%m-%d %H:%M:%S.%f'"

使用

pd.to_datetime(df['Timestamp'].str.strip("'")) #cs95