фильтровать значения данных на основе другого столбца, используя pandas - PullRequest
0 голосов
/ 18 апреля 2020

Иметь df со значениями.


name     last_date                     submission_date

mike  2020-04-10 02:22:22.222   2020-04-01 02:22:22.222
mike  2020-04-10 02:22:22.222   2020-04-08 02:22:22.222
mike  2020-04-10 02:22:22.222   2020-04-16 02:22:22.222

ross  2020-04-16 02:22:22.222   2020-04-18 02:22:22.222
ross  2020-04-16 02:22:22.222   2020-04-19 02:22:22.222
ross  2020-04-16 02:22:22.222   2020-04-20 02:22:22.222
ross  2020-04-16 02:22:22.222   2020-04-15 02:22:22.222

carter 2020-04-22 02:22:22.222   2020-04-28 02:22:22.222
carter 2020-04-22 02:22:22.222   2020-04-15 02:22:22.222
carter 2020-04-22 02:22:22.222   2020-04-19 02:22:22.222
carter 2020-04-22 02:22:22.222   2020-04-21 02:22:22.222



фильтрация значений на основе last_date. исключить значения submission_date, если оно больше, чем last_date

ожидаемый результат:

name     last_date                     submission_date

mike  2020-04-10 02:22:22.222   2020-04-01 02:22:22.222
mike  2020-04-10 02:22:22.222   2020-04-08 02:22:22.222

ross  2020-04-16 02:22:22.222   2020-04-15 02:22:22.222

carter 2020-04-22 02:22:22.222   2020-04-15 02:22:22.222
carter 2020-04-22 02:22:22.222   2020-04-19 02:22:22.222
carter 2020-04-22 02:22:22.222   2020-04-21 02:22:22.222




1 Ответ

1 голос
/ 18 апреля 2020

Вы можете query фрейм данных, где submission_date меньше или равно last_date, это возвращает строки, в которых выполняется условие, и отфильтровывает остальные:

df.query("last_date>=submission_date")

    name                 last_date         submission_date
0   mike   2020-04-10 02:22:22.222 2020-04-01 02:22:22.222
1   mike   2020-04-10 02:22:22.222 2020-04-08 02:22:22.222
2   ross   2020-04-16 02:22:22.222 2020-04-15 02:22:22.222
3  carter  2020-04-22 02:22:22.222 2020-04-15 02:22:22.222
4  carter  2020-04-22 02:22:22.222 2020-04-19 02:22:22.222
5  carter  2020-04-22 02:22:22.222 2020-04-21 02:22:22.222
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...