Получить режим года на 4, равный 0 означает 366, иначе означает 365 (обратите внимание, что это не будет включать в себя особые случаи, вы можете проверить функцию обновления и ссылку, которую я предоставил)
(pd.to_datetime(df.Date,format='%m/%d/%Y').dt.year%4).eq(0).map({True:366,False:365})
Out[642]:
1 365
2 365
3 366
4 366
Name: Date, dtype: int64
Вы можете использовать это, что является более точным для определения високосного года, определение с этого сайта
def daysinyear(x):
if x%4==0 :
if x%100==0:
if x%400==0:
return(366)
else:
return (365)
else :
return(365)
else:
return(365)
(pd.to_datetime(df.Date,format='%m/%d/%Y').dt.year%4).apply(daysinyear)
Out[656]:
1 365
2 365
3 366
4 366
Name: Date, dtype: int64