gpt4 book ai didi

pandas - 如何在 Pandas 中移动日期时间的时间戳边界(使用历史数据)?

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

我正在处理历史数据,并且有一些非常旧的日期超出了 Pandas 的时间戳范围。我咨询过 Pandas Time series/date functionality文档,其中包含有关 out of bounds spans 的一些信息,但从这些信息来看,我仍然不清楚我可以做些什么来将我的数据转换为 datetime类型。

我也在 Stack Overflow 上看到了一些关于此的主题,但他们要么只是指出了问题(即纳秒,最大范围为 570 年左右),要么建议设置 errors = coerce这将我 80% 的数据变成了 NaT s。

是否可以将低于默认 Pandas 下限的日期转换为日期?这是我的数据示例:

import pandas as pd

df = pd.DataFrame({'id': ['836', '655', '508', '793', '970', '1075', '1119', '969', '1166', '893'],
'date': ['1671-11-25', '1669-11-22', '1666-05-15','1673-01-18','1675-05-07','1677-02-08','1678-02-08', '1675-02-15', '1678-11-28', '1673-12-23']})

最佳答案

您可以创建 day periods通过 lambda 函数:

df['date'] = df['date'].apply(lambda x: pd.Period(x, freq='D'))

或者像评论中提到的@Erfan(谢谢):
df['date'] = df['date'].apply(pd.Period)

print (df)
id date
0 836 1671-11-25
1 655 1669-11-22
2 508 1666-05-15
3 793 1673-01-18
4 970 1675-05-07
5 1075 1677-02-08
6 1119 1678-02-08
7 969 1675-02-15
8 1166 1678-11-28
9 893 1673-12-23

关于pandas - 如何在 Pandas 中移动日期时间的时间戳边界(使用历史数据)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58659851/

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