gpt4 book ai didi

python - 不正确且奇怪的 UNIX 时间到日期时间 Pandas 的转换

转载 作者:行者123 更新时间:2023-12-01 00:03:00 25 4
gpt4 key购买 nike

出于某种奇怪的原因,我无法将 unix 格式的数据帧的列转换为标准日期时间格式:

>>> df = pd.DataFrame({"f1":[1420059600, 1420066800], "f2":["A", "B"]})
>>> format = "%m/%d/%Y %H:%M:%S"
>>> pd.to_datetime(df["f1"], errors='coerce', origin="unix", format=format)
0 NaT
1 NaT
Name: f1, dtype: datetime64[ns]

如果我不提供格式参数,我会得到

>>> pd.to_datetime(df["f1"], errors='coerce', origin="unix")
0 1970-01-01 00:00:01.420059600
1 1970-01-01 00:00:01.420066800
Name: f1, dtype: datetime64[ns]

最后有一些不清楚的结局。

我希望输出是:

>>> pd.to_datetime(df["f1"], errors='coerce', origin="unix")
0 12/31/2014 21:00:00
1 12/31/2014 23:00:00
Name: f1, dtype: datetime64[ns]

谢谢!

Pandas 1.0.1

最佳答案

您需要使用unit = s。我没有格式化输出,你可以按照你的意愿格式化。一个建议。不要使用名称“format”作为格式。使用其他非标准的东西

pd.to_datetime(df["f1"], errors='coerce', unit ='s')

输出

0   2014-12-31 21:00:00
1 2014-12-31 23:00:00

关于python - 不正确且奇怪的 UNIX 时间到日期时间 Pandas 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60199296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com