如何将时间戳转换为pandasto_datetime?

How to convert timestamp to pandas 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)

我正在尝试将对象类型转换为 pandas datetime,

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

使用上面的代码returns

    Timestamp
0   NaT
1   NaT
2   NaT
3   NaT
4   NaT

如何将上面的时间戳转换成pandasdatetime类型?

您的格式不正确,您使用的是 %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]