У меня есть фрейм данных, как показано ниже
df1 = pd.DataFrame({'person_id': [11, 21, 31, 41, 51],
'date_1': ['12/30/1961', '05/29/1967', '02/03/1957', '7/27/1959', '01/13/1971'],
'date_2': ['07/23/2017','05/29/2017','02/03/2015',np.nan,np.nan]})
df1 = df1.melt('person_id', value_name='dates')
Я хотел бы получить количество дней до предыдущего и следующего года .
Я могу получить предыдущий и следующий год, используя приведенный ниже код
df1['cur_year'] = pd.DatetimeIndex(df1['dates']).year
df1['prev_year'] = (df1['cur_year'] - 1)
df1['next_year'] = (df1['cur_year'] + 1)
Как вы можете видеть, значения year
постоянно меняются для каждой строки, а у меня нет фиксированная базовая дата, как я могу рассчитать разницу в днях с такими датами, как 31/12
для предыдущего года и 01/01
для следующего года.
Обратите внимание, что end date is not included while getting the number of days
Ниже я показал образец вывода для 2 предметов.
обновленный скриншот