如何在熊猫中计算按年初至今过滤状态更改的门票?



我有 2 个数据集快照存储在包含 JIRA 票证的 2 个数据帧中,有一个名为UpdateDate的列告诉我快照是何时拍摄的。 我想按年初至今计算仍然保持打开状态的票证数量,这基本上意味着:明天总共有多少票(合并快照)仍然开放(例如 2019-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 上已更改为完成,而 issue222 的状态仍为打开。 因此,如果我的年初至今过滤器设置为 2019-03-29。它将向我显示 2 张状态打开的票证,但其中一张将是重复的。

如何计算仍在打开但没有重复的票证数量?

你可以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']

最新更新