gpt4 book ai didi

python - Pandas `period_range` 给出了奇怪的结果

转载 作者:太空狗 更新时间:2023-10-30 01:06:16 24 4
gpt4 key购买 nike

我想要一个有 25 小时偏移的 pandas 周期范围,我看到有两种方法可以做到这一点(参见 here):

第一种方法是使用freq=25H,我试过了,给了我正确的答案:

import pandas as pd
pd.period_range(start='2016-01-01 10:00', freq = '25H', periods = 10)

结果是

PeriodIndex(['2016-01-01 10:00', '2016-01-02 11:00', '2016-01-03 12:00',
'2016-01-04 13:00', '2016-01-05 14:00', '2016-01-06 15:00',
'2016-01-07 16:00', '2016-01-08 17:00', '2016-01-09 18:00',
'2016-01-10 19:00'],
dtype='int64', freq='25H')

第二种方法,使用 freq=1D1H,但是,给了我一个相当奇怪的结果:

pd.period_range(start='2016-01-01 10:00', freq = '1D1H', periods = 10)

我得到了

 PeriodIndex(['1971-12-02 01:00', '1971-12-02 02:00', '1971-12-02 03:00',
'1971-12-02 04:00', '1971-12-02 05:00', '1971-12-02 06:00',
'1971-12-02 07:00', '1971-12-02 08:00', '1971-12-02 09:00',
'1971-12-02 10:00'],
dtype='int64', freq='25H')

那么也许 1D1H 不是指定频率的有效方式? 1971 是怎么来的? (我还尝试使用 1D1H 作为 date_range() 方法的频率,这确实产生了正确的答案。)

pd.date_range('2016-01-01 10:00', freq = '1D1H', periods = 10)
DatetimeIndex(['2016-01-01 10:00:00', '2016-01-02 11:00:00',
'2016-01-03 12:00:00', '2016-01-04 13:00:00',
'2016-01-05 14:00:00', '2016-01-06 15:00:00',
'2016-01-07 16:00:00', '2016-01-08 17:00:00',
'2016-01-09 18:00:00', '2016-01-10 19:00:00'],
dtype='datetime64[ns]', freq='25H')

编辑:似乎使用 period_range(),尽管 freq=1D1H 不起作用,但 freq=1H1D 起作用。原因尚不清楚。

EDIT2:这已被确定为错误,请参阅下面的答案。

最佳答案

错误已经被识别并且reported on GitHub .

编辑:A fix已合并,将包含在 v0.19 中。

关于python - Pandas `period_range` 给出了奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38681319/

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