我有一个 df,其中包含每个时间段的 JIRA 票证状态摘要,它包含“打开”、“关闭”和“其他”的计数。我想看到随着时间的推移,超额门票数量的增加。
period Status Counts
No. 1 Apr 06 2019 to Apr 12 2019 CLOSE 1026
No. 1 Apr 06 2019 to Apr 12 2019 OPEN 2914
No. 1 Apr 06 2019 to Apr 12 2019 OTHER 264
No. 2 Mar 30 2019 to Apr 05 2019 CLOSE 1307
No. 2 Mar 30 2019 to Apr 05 2019 OPEN 2212
No. 2 Mar 30 2019 to Apr 05 2019 OTHER 256
对于第 1 期,OPEN 状态的计数已从 2212(第 2 期)增加到 2914,因此为第 1 时段添加了 702 张票。如何添加显示的额外列。
period Status Counts Added
No. 1 Apr 06 2019 to Apr 12 2019 CLOSE 1026 702 (2914-2212)
No. 1 Apr 06 2019 to Apr 12 2019 OPEN 2914 702
No. 1 Apr 06 2019 to Apr 12 2019 OTHER 264 702
No. 2 Mar 30 2019 to Apr 05 2019 CLOSE 1307 (2212 minus xxx)
No. 2 Mar 30 2019 to Apr 05 2019 OPEN 2212 (2212 minus xxx)
No. 2 Mar 30 2019 to Apr 05 2019 OTHER 256 (2212 minus xxx)
最佳答案
您可以在OPEN
中找到差异,然后使用transform('first')
将这些值放回框架中。
u = df.assign(Added=df.loc[df.Status.eq('OPEN'), 'Counts'].diff(-1))
u.assign(Added=u.groupby('period')['Added'].transform('first'))
period Status Counts Added
0 No. 1 Apr 06 2019 to Apr 12 2019 CLOSE 1026 702.0
1 No. 1 Apr 06 2019 to Apr 12 2019 OPEN 2914 702.0
2 No. 1 Apr 06 2019 to Apr 12 2019 OTHER 264 702.0
3 No. 2 Mar 30 2019 to Apr 05 2019 CLOSE 1307 NaN
4 No. 2 Mar 30 2019 to Apr 05 2019 OPEN 2212 NaN
5 No. 2 Mar 30 2019 to Apr 05 2019 OTHER 256 NaN
关于python - 如何计算 Pandas 每个时期的增加量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55816677/