Я хотел бы добавить «точные месяцы» к дате начала к дате начала, чтобы вычислить дату окончания и играл с относительной дельтой.У меня есть следующее:
df1['Start Date'] = ['11/1/2018', '3/15/2019', NaN, '5/15/2019', '2/28/2017', NaN, '10/31/2018']
df1['Months'] = [12.0, 36.0, 15.0, 36.0, 12.0, 9.0, 5.0]
df1 ['Start Date'] в настоящее время datetime64 [нс], в то время как df1 ['Months'] является float64.
Конечный результат должен быть df1 ['Start Date'] + .df1 ['Months'] - 1 день, но аспект относительной дельты важен, так как я хотел бы вернуть «точные месяцы».NaN может продолжать возвращать NaN.
Вот моя попытка вычислить:
df1['End_Date'] = df1['Effective_Date'].apply(lambda x: x + relativedelta(months = df1['Months'].astype(float))) - pd.DateOffset(days = 1)
Я получаю следующую ошибку, которую не знаю, как решить:
cannot convert the series to <class 'int'>
Я попробовал следующее безрезультатно:
df1['Months'].astype('timedelta64[D]')
Очень признателен за вашу помощь.