Как сделать фильтр даты, используя столбец из одного фрейма данных в другой [дубликат] ⇐ Python
-
Гость
Как сделать фильтр даты, используя столбец из одного фрейма данных в другой [дубликат]
У меня есть два набора данных, которые мне нужны для создания фильтра, просматривающего 90 дней назад в df1 из target_date в df2.
Пример:
DF1
идентификатор имя start_date end_date команда 1234 Джон Смит 01.01.2022 01.02.2022 Продажи 1234 Джон Смит 01.02.2022 02.04.2022 Продажи 1234 Джон Смит 02.04.2022 04.08.2022 Администратор 4321 Дерек Джетер 23.07.2022 12.08.2022 Тех. 4321 Дерек Джетер 12.08.2022 12.12.2022 Тех 5678 Джо Дирт 23.01.2023 21.03.2023 HR 5678 Джо Дирт 21.03.2023 04.05.2023 HR 5678 Джо Дирт 04.05.2023 02.07.2023 HR DF2
команда дела emp_name target_date 100 продаж Дж.Смит 01.07.2022 101 Тех Джетер, Дерек 17.01.2023 102 HR Джо Дирт 01.07.2023 Я хотел бы видеть, что target_date в DF2 используется в качестве основы для фильтрации по end_date в DF1I. Например, если target_date — 01.10.2023, end_date должен быть не позднее 01.07.2023. Тогда кадр данных будет выглядеть так:
идентификатор имя start_date end_date команда 1234 Джон Смит 01.01.2022 01.02.2022 Продажи 1234 Джон Смит 01.02.2022 02.04.2022 Продажи 4321 Дерек Джетер 23.07.2022 12.08.2022 Тех. 5678 Джо Дирт 23.01.2022 21.03.2023 HR вот что я пробовал:
для индекса, строки в df2.iterrows(): пороговая_дата = строка['target_date'] - дельта времени (дней = 90) filtered_rows = df[(df['end_date']
У меня есть два набора данных, которые мне нужны для создания фильтра, просматривающего 90 дней назад в df1 из target_date в df2.
Пример:
DF1
идентификатор имя start_date end_date команда 1234 Джон Смит 01.01.2022 01.02.2022 Продажи 1234 Джон Смит 01.02.2022 02.04.2022 Продажи 1234 Джон Смит 02.04.2022 04.08.2022 Администратор 4321 Дерек Джетер 23.07.2022 12.08.2022 Тех. 4321 Дерек Джетер 12.08.2022 12.12.2022 Тех 5678 Джо Дирт 23.01.2023 21.03.2023 HR 5678 Джо Дирт 21.03.2023 04.05.2023 HR 5678 Джо Дирт 04.05.2023 02.07.2023 HR DF2
команда дела emp_name target_date 100 продаж Дж.Смит 01.07.2022 101 Тех Джетер, Дерек 17.01.2023 102 HR Джо Дирт 01.07.2023 Я хотел бы видеть, что target_date в DF2 используется в качестве основы для фильтрации по end_date в DF1I. Например, если target_date — 01.10.2023, end_date должен быть не позднее 01.07.2023. Тогда кадр данных будет выглядеть так:
идентификатор имя start_date end_date команда 1234 Джон Смит 01.01.2022 01.02.2022 Продажи 1234 Джон Смит 01.02.2022 02.04.2022 Продажи 4321 Дерек Джетер 23.07.2022 12.08.2022 Тех. 5678 Джо Дирт 23.01.2022 21.03.2023 HR вот что я пробовал:
для индекса, строки в df2.iterrows(): пороговая_дата = строка['target_date'] - дельта времени (дней = 90) filtered_rows = df[(df['end_date']