gpt4 book ai didi

python - 将 pandas datetimeindex 延长 1 个周期

转载 作者:太空狗 更新时间:2023-10-30 02:02:41 30 4
gpt4 key购买 nike

考虑DateTimeIndex 日期

dates = pd.date_range('2016-01-29', periods=4, freq='BM')
dates

DatetimeIndex(['2016-01-29', '2016-02-29', '2016-03-31', '2016-04-29'],
dtype='datetime64[ns]', freq='BM')

我想以附加到对象的频率将索引延长一个周期。


我希望

pd.date_range('2016-01-29', periods=5, freq='BM')

DatetimeIndex(['2016-01-29', '2016-02-29', '2016-03-31', '2016-04-29',
'2016-05-31'],
dtype='datetime64[ns]', freq='BM')

我试过了

dates.append(dates[[-1]] + pd.offsets.BusinessMonthEnd())

不过

  • 未概括为使用日期的频率
  • 我收到性能警告

    PerformanceWarning: Non-vectorized DateOffset being applied to Series or DatetimeIndex

最佳答案

DatetimeIndex 中的时间戳已经知道它们描述的是业务月末,因此您只需加 1:

import pandas as pd
dates = pd.date_range('2016-01-29', periods=4, freq='BM')

print(repr(dates[-1]))
# => Timestamp('2016-04-29 00:00:00', offset='BM')

print(repr(dates[-1] + 1))
# => Timestamp('2016-05-31 00:00:00', offset='BM')

您可以使用 .union 将后者添加到您的索引中:

dates = dates.union([dates[-1] + 1])
print(dates)
# => DatetimeIndex(['2016-01-29', '2016-02-29', '2016-03-31', '2016-04-29',
# '2016-05-31'],
# dtype='datetime64[ns]', freq='BM')

.append 相比,这保留了偏移量的知识。

关于python - 将 pandas datetimeindex 延长 1 个周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39516671/

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