gpt4 book ai didi

python - 在 Pandas 中将 DatetimeIndex 向前滚动到下一个营业月的开始

转载 作者:行者123 更新时间:2023-12-01 03:14:21 35 4
gpt4 key购买 nike

我正在使用 Python 2.7 和 Pandas 0.19.2

我有一个数据框如下:

                Frequency       Percentage
Date 0.033464 0.138084
2016-10-27 0.174455 0.114329
2016-11-28 0.116002 0.106543
2016-12-23 0.113620 0.105842
2017-01-31 0.115948 0.119684

我想将 DatetimeIndex 移至下个月的第一个工作日:

                Frequency       Percentage
Date 0.033464 0.138084
2016-11-01 0.174455 0.114329
2016-12-01 0.116002 0.106543
2017-01-02 0.113620 0.105842
2017-02-01 0.115948 0.119684

我不能只添加固定的天数,因为每个值的日期相对于月末有所不同。另外,该月的第一天可能是周末,而我想要第一个工作日。

我尝试使用 pandas.timeseries.offsets 尝试使用 BMonthBegin() 但无法使其工作,因为该模块似乎喜欢时间戳而不是 DatetimeIndexes。

有人可以帮忙吗?

提前致谢。我对日期时间对象还不太了解。

最佳答案

您可以使用 pd.offsets.BMonthBegin() 添加到索引正如你试图做的那样。请注意,此偏移量没有矢量化实现,因此据我所知,它可能比其他一些偏移量(例如 Day)慢得多,从而引发 PerformanceWarning

演示

>>> df.index += pd.offsets.BMonthBegin(1)
PerformanceWarning: Non-vectorized DateOffset being applied to Series or DatetimeIndex
"or DatetimeIndex", PerformanceWarning)

>>> df

Frequency Percentage
2016-11-01 0.174455 0.114329
2016-12-01 0.116002 0.106543
2017-01-02 0.113620 0.105842
2017-02-01 0.115948 0.119684

关于python - 在 Pandas 中将 DatetimeIndex 向前滚动到下一个营业月的开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42602347/

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