gpt4 book ai didi

python - 将日期从 int64 转换为日期时间

转载 作者:太空狗 更新时间:2023-10-30 02:26:23 25 4
gpt4 key购买 nike

我在 pandas 数据框中有一个 int64 对象,它应该代表一个日期。

>>> df.dtypes
CreatedDate int64

显然,我想将其转换为日期时间,所以我做了以下操作

df["CreatedDate2"] = pd.to_datetime(pd.Series(df["CreatedDate"]))

>>> df[["CreatedDate","CreatedDate2"]].head()
CreatedDate CreatedDate2
0 1466461661000 1970-01-01 00:24:26.461661
1 1464210703000 1970-01-01 00:24:24.210703
2 1423576093000 1970-01-01 00:23:43.576093
3 1423611903000 1970-01-01 00:23:43.611903
4 1423617600000 1970-01-01 00:23:43.617600
>>>

但是,这是 1970 年代的日期,这不应该是真的。谁能告诉我如何在 Pandas 数据框中将 int64 转换为日期时间。我认为这是正确的方法。

最佳答案

您需要传递 unit='ms',因为它们是自 Unix Epoch 以来的毫秒数:

In[51]:
df['CreatedDate2'] = pd.to_datetime(df['CreatedDate'], unit='ms')
df

Out[51]:
CreatedDate CreatedDate2
0 1466461661000 2016-06-20 22:27:41
1 1464210703000 2016-05-25 21:11:43
2 1423576093000 2015-02-10 13:48:13
3 1423611903000 2015-02-10 23:45:03
4 1423617600000 2015-02-11 01:20:00

默认情况下,unit 参数是 'ns',因为它假定 datetime64[ns] 值自 unix 纪元以来为纳秒,如果传递的值是 int64 dtype

关于python - 将日期从 int64 转换为日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45218284/

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