gpt4 book ai didi

python - DatetimeIndex 仅用于 pandas 中的每日数据

转载 作者:行者123 更新时间:2023-11-30 23:18:08 25 4
gpt4 key购买 nike

我想根据每日日期创建自定义索引,例如:

a = bdate_range('1990-01-01', freq='D', periods=10)

这将创建一个包含各种时间戳对象的索引:

>>> a[0]
Timestamp('1990-01-01 00:00:00', offset='D')

不幸的是,Timestamp 类似乎每次都会使用 [ns] 标志初始化底层 numpy.datetime64 对象,即启用低至纳秒的粒度。

这对我的数据来说完全是多余的,因为我的数据只需要每日粒度。不仅如此,考虑到如此大的粒度,数据只能从 1678 年之后开始! (即 Timestamp('1677-01-01') 将失败)。解决方案应该是可以以某种方式设置一个标志来确定 Timestamp 对象应使用哪种 datetime64 分辨率,例如像这样:

Timestamp('1990-01-01', dtype='datetime64[d]')

理想情况下,bdate_range 或 date_range 应该有一个可以设置的类似标志,以便创建格式正确的时间戳的整个索引。

长话短说,是否有可能在 pandas 中创建某种类型的索引(例如 DatetimeIndex,或者可能是 DateIndex?),专门适合仅处理日常数据?

感谢您的回复

最佳答案

我相信 DatetimeIndex 的内部结构与纳秒分辨率密切相关,因此我认为在那里没有太多可以做的事情。

但是,正如 documentation 的“注意事项”部分中所建议的那样,PeriodIndex 可用于表示纳秒分辨率之外的日期。

In [147]: a = pd.period_range('1990-01-01', freq='D', periods=10)

In [148]: a[0]
Out[148]: Period('1990-01-01', 'D')

关于python - DatetimeIndex 仅用于 pandas 中的每日数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26914846/

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