Я хочу обновить любые даты, превышающие максимальную дату Python:
display(df['maturity_date'].dtypes)
dtype('O')
display(df['maturity_date'].describe())
count 3488
unique 766
top 2166-09-23 00:00:00
freq 130
Name: maturity_date, dtype: object
m = df['maturity_date'].str[:4].astype(int) > 2261
ValueError: cannot convert float NaN to integer
В этом случае, кажется, нет ни одной, так по этой ли причине возникает ошибка?Как я могу изменить, чтобы Pandas обновлялся, только если условие истинно?Лучше всего подавить ошибку или обработать ее?
df['maturity_date'] = df['maturity_date'].mask(m, '2261' + df['maturity_date'].str[4:]) # for all dates greater than python max date replace
df['maturity_date'] = pd.to_datetime(df['maturity_date'])