Я пытаюсь найти разницу между двумя датами, игнорируя год. Итак, скажем, если я хочу найти разницу между 2014-01-02 и 2019-01-01, ответ должен быть 1, но у меня проблемы с этим. Это должен быть порядковый день года, вычитая день месяца не будет работать
Ниже приведен код, который я использовал, но он не дал мне желаемого результата, поскольку он также учитывает год.
data12['Dist_from_NewYear'] = data12['only_date'].map(lambda x: x.date() - public_holidays['Date'][0].date())
data12['Dist_from_NewYear']
0 -1456 days
1 -1455 days
2 -1454 days
3 -1453 days
4 -1452 days
5 -1451 days
6 -1450 days
7 -1449 days
8 -1448 days
9 -1448 days
10 -1448 days
11 -1446 days
12 -1445 days

Используйте dt.dayofyear, чтобы получить порядковый день года для выполнения вычислений:
In[131]:
df = pd.DataFrame({'a':[pd.to_datetime('2014-01-02', dayfirst=False)], 'b':[pd.to_datetime('2019-01-01', dayfirst=False)]})
df['diff'] = df['a'].dt.dayofyear - df['b'].dt.dayofyear
df
Out[131]:
a b diff
0 2014-01-02 2019-01-01 1
Вы можете сделать так
import pandas as pd
df = pd.DataFrame({"date": pd.date_range(start='2019-01-01', periods=10)})
print(df["date"])
print(df["date"].dt.day[3] - df["date"].dt.day[2])
дайте мне знать, если вы столкнулись с какой-либо проблемой.
Это не сработает, ОП хочет порядковый день года, вы вычитаете день месяца
Итак, без учета года, сколько дней между 27 февраля и 1 марта?