Как считать билеты с измененным статусом, отфильтрованные по дате-году в Пандах? - PullRequest
0 голосов
/ 28 марта 2019

У меня есть 2 снимка набора данных, хранящихся в 2 фреймах данных, содержащих билеты JIRA, есть столбец с именем updatedDate , который сообщает мне, когда был сделан снимок.Я хочу рассчитать количество заявок, которые все еще остаются открытыми, по годам к дате, что в основном означает: сколько билетов в общей сложности (комбинированные снимки) все еще открыто завтра (например, 201.09-03-29).

Но проблема в том, что оба моих фрейма данных могут содержать одну и ту же проблему JIRA, но статус заявки может или может не изменить.

# this df1 (Snapshot 1)
Issue key   Project name    Status   UpdatedDate
111         Proj1          Analysis   2019-03-18
222         Proj1          Open       2019-03-18

# this df2 (Snapshot 2)
Issue key   Project name    Status   UpdatedDate
111         Proj1          Done      2019-03-28
222         Proj1          Open      2019-03-28

Таким образом, как указано в таблице выше, статус проблемы111 изменился на Выполнено на снимке 2, где статус проблемы 222 по-прежнему Открыть .Так что если мой фильтр «Год к дате» установлен на 2019-03-29.он покажет мне 2 билета со статусом открыто , но одним из них будет дублирование.

Как подсчитать количество билетов, которые все еще открыты, но без дубликатов?

1 Ответ

0 голосов
/ 28 марта 2019

вы можете sort_values(), а затем drop_duplicates():

pd.concat([df1, df2]) \
  .sort_values(['UpdatedDate'], ascending=[False]) \
  .drop_duplicates(['Issue key'], keep='first') \
  .loc[lambda x: x.Status == 'Open']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...