如何将时间戳转换为熊猫 to_datetime?

问题描述

我确实意识到这里已经解决了这个问题。尽管如此,我希望这个问题有所不同。

我有一个带有时间戳的 dataframe,dtype 为 object

sample = {"Timestamp" : ["2021-03-19-17.03.19.149168","2021-02-26-17.03.40.062637","2021-02-26-17.00.35.580631","2021-06-09-18.03.38.497239","2021-06-09-18.03.38.497239"]}

test = pd.DataFrame(sample)

我正在尝试将对象类型转换为熊猫 datetime

test["Timestamp"] = pd.to_datetime(test["Timestamp"],format="%Y-%m-%d-%H.%M.%s.%Z",errors="coerce")

使用上面的代码返回

    Timestamp
0   NaT
1   NaT
2   NaT
3   NaT
4   NaT

如何将上述时间戳转换为pandas datetime 类型?

解决方法

您的格式不正确,您使用的是 %Z(时区)而不是 %f(微秒)。后者按预期工作:

>>> pd.to_datetime(test["Timestamp"],format="%Y-%m-%d-%H.%M.%S.%f")

0   2021-03-19 17:03:19.149168
1   2021-02-26 17:03:40.062637
2   2021-02-26 17:00:35.580631
3   2021-06-09 18:03:38.497239
4   2021-06-09 18:03:38.497239
Name: Timestamp,dtype: datetime64[ns]

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...