在熊猫时期进行算术运算(0.25.1向后不兼容)

时间:2019-09-14 16:53:28

标签: python pandas backwards-compatibility period

我正在尝试对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兼容的最佳方法是什么?谢谢!

0 个答案:

没有答案