Я запутался, как pandas вырвался за пределы для объектов datetime с этими строками:
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]
- это datetime, установленное 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