gpt4 book ai didi

python - 将纪元(即 01/01/0001 午夜)转换为 pandas 中的 DateTime

转载 作者:行者123 更新时间:2023-12-03 09:26:59 27 4
gpt4 key购买 nike

我有一列包含一系列时间戳的列。最初我认为它们在 Unix 时间戳系统中,所以我使用以下代码将它们转换为日期时间。

big_frame['date'] = pd.to_datetime(big_frame['filename'],unit='s')
然而,它给了我奇怪的结果,所以我研究了更多,发现时间戳基本上使用 .net 纪元,即 01/01/0001 午夜。所以文件名是从那个时代开始的秒数。如何将数据框中的列转换为正确的日期时间?
例如,如果我有这个
63730342900 
结果应该是
14/07/2020 17:01:40
编辑:
https://www.epochconverter.com/seconds-days-since-y0
这是我能找到的唯一正确转换上述时间戳的网站
下面是我要转换的列
0     63729045145
1 63729045145
2 63729045146
3 63729045146
4 63729045146
5 63729045147
6 63729045147
7 63729045147

最佳答案

01/01/0001似乎超出了 datetime/timedelta 类型的范围。我们可以做一个像这样的小黑客:

ref_date = pd.to_datetime('14/07/2020 17:01:40')
ref_stamp = 63730342900


bigframe['date'] = pd.to_timedelta(big_frame['date'] - ref_stamp, unit='s') + ref_date
输出:
0   2020-06-29 16:32:25
1 2020-06-29 16:32:25
2 2020-06-29 16:32:26
3 2020-06-29 16:32:26
4 2020-06-29 16:32:26
5 2020-06-29 16:32:27
6 2020-06-29 16:32:27
7 2020-06-29 16:32:27
Name: date, dtype: datetime64[ns]

关于python - 将纪元(即 01/01/0001 午夜)转换为 pandas 中的 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63014507/

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