Я использовал следующий тестовый фрейм данных:
Transaction_date Value
0 2019-12-31 10
1 2020-01-10 10
2 2020-01-15 10
3 2020-01-20 10
4 2020-01-25 10
5 2020-01-28 10
6 2020-01-29 10
7 2020-01-30 10
8 2020-01-31 10
9 2020-02-01 10
10 2020-02-01 10
Даты начала / окончания:
start_day = '01.01.2020'
end_day = '31.01.2020'
Код:
# Convert start / end dates to datetime
start_day = pd.to_datetime(start_day)
end_day = pd.to_datetime(end_day)
Я заметил, что Вы используете модуль datetime , что я считаю плохой практикой. Для этого используйте специальную функцию pandasoni c ( to_datetime ). Он даже достаточно умен, чтобы распознавать многие из широко используемых форматов даты, поэтому нет необходимости указывать его самостоятельно.
Чтобы получить реальный результат, выполните:
df[df['Transaction_date'].between(start_day, end_day)]
результат:
Transaction_date Value
1 2020-01-10 10
2 2020-01-15 10
3 2020-01-20 10
4 2020-01-25 10
5 2020-01-28 10
6 2020-01-29 10
7 2020-01-30 10
8 2020-01-31 10
Итак, как вы видите:
- Дата с 2019 исключена.
- Вывод содержит только январские даты, до самого конца.
- Даты с начала февраля также были исключены.
Повторите мой пример на вашем компьютере. Может быть, источник вашей проблемы (что результат не содержит все даты января) где-то еще?