我正在尝试对Panda的Period
进行一些算术运算(例如弄清楚两个月之间的时间间隔是否可以改为四分之一,等等。)这是一个最小的工作示例:
import pandas as pd
start = pd.Period('2010-01')
end = pd.Period('2010-04')
xxx = end - start + 1
该代码过去在Pandas 0.23.4上运行良好,因为end-start
将返回int
。现在使用Pandas 0.25.1,它将返回<3 * MonthEnds>
。当我尝试添加1时,它说
AttributeError Traceback (most recent call last)
<ipython-input-23-e80b3c0e9393> in <module>
----> 1 x.onOffset(1)
C:\ProgramData\Anaconda3\lib\site-packages\pandas\tseries\offsets.py in onOffset(self, dt)
1125 if self.normalize and not _is_normalized(dt):
1126 return False
-> 1127 return dt.day == self._get_offset_day(dt)
1128
1129 @apply_wraps
AttributeError: 'int' object has no attribute 'day'
我没有在0.25 What's New中提及此问题。修改我的代码,使其与新的Pandas兼容的最佳方法是什么?谢谢!