gpt4 book ai didi

python - Pandas:[Errno 75] 值对于定义的数据类型来说太大

转载 作者:行者123 更新时间:2023-11-28 22:25:37 25 4
gpt4 key购买 nike

我在转换日期时间列时遇到了这个奇怪的错误。

这是有问题的代码行:

data['date'] = data['datetime'].map(lambda x:datetime.utcfromtimestamp(x/1000))

为了让事情更有趣,这个可行:

datetime.utcfromtimestamp(data.datetime.max()/1000)

因此可以转换最大值,但对于其他一些值,我得到的值对于定义的数据类型错误来说太大了。

感谢您的帮助!

最佳答案

在 Pandas 中我们可以这样做:

data['date'] = data['datetime'].astype(np.int64) // 10**9

这给了我们自 1970-01-01 00:00:00 UTC 以来的秒数

如果您想要/需要获得# of 毫秒:

data['date'] = data['datetime'].astype(np.int64) // 10**6

演示:

In [15]: data = pd.DataFrame({'datetime':pd.date_range('2000-01-01', freq='99D', periods=10)})

In [16]: data
Out[16]:
datetime
0 2000-01-01
1 2000-04-09
2 2000-07-17
3 2000-10-24
4 2001-01-31
5 2001-05-10
6 2001-08-17
7 2001-11-24
8 2002-03-03
9 2002-06-10

In [17]: data['date'] = data['datetime'].astype(np.int64) // 10**9

In [18]: data
Out[18]:
datetime date
0 2000-01-01 946684800
1 2000-04-09 955238400
2 2000-07-17 963792000
3 2000-10-24 972345600
4 2001-01-31 980899200
5 2001-05-10 989452800
6 2001-08-17 998006400
7 2001-11-24 1006560000
8 2002-03-03 1015113600
9 2002-06-10 1023667200

关于python - Pandas:[Errno 75] 值对于定义的数据类型来说太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45423917/

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