最佳答案
我很困惑,为什么大熊猫会用下面这些行打破日期时间对象的界限:
import pandas as pd
BOMoffset = pd.tseries.offsets.MonthBegin()
# here some code sets the all_treatments dataframe and the newrowix, micolix, mocolix counters
all_treatments.iloc[newrowix,micolix] = BOMoffset.rollforward(all_treatments.iloc[i,micolix] + pd.tseries.offsets.DateOffset(months = x))
all_treatments.iloc[newrowix,mocolix] = BOMoffset.rollforward(all_treatments.iloc[newrowix,micolix]+ pd.tseries.offsets.DateOffset(months = 1))
这里的 all_treatments.iloc[i,micolix]
是由 pd.to_datetime(all_treatments['INDATUMA'], errors='coerce',format='%Y%m%d')
设置的日期时间,而 INDATUMA
是格式为 20070125
的日期信息。
这种逻辑似乎适用于模拟数据(没有错误,日期是有意义的) ,所以当它在我的整个数据中失败时,我无法重现,出现以下错误:
pandas.tslib.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 2262-05-01 00:00:00