假设我们有以下DataFrame,它详细描述了错误跟踪系统中的错误:
import pandas as pd
bugs = pd.DataFrame([
{'key': 'ABC-1', 'priority': 'high', 'start': pd.Timestamp(2018, 1, 1), 'end': pd.Timestamp(2018,3,20)},
{'key': 'ABC-2', 'priority': 'med', 'start': pd.Timestamp(2018, 1, 2), 'end': pd.Timestamp(2018,1,20)},
{'key': 'ABC-3', 'priority': 'high', 'start': pd.Timestamp(2018, 2, 3), 'end': pd.Timestamp(2018,3,20)},
{'key': 'ABC-4', 'priority': 'med', 'start': pd.Timestamp(2018, 1, 4), 'end': pd.Timestamp(2018,3,20)},
{'key': 'ABC-5', 'priority': 'high', 'start': pd.Timestamp(2018, 2, 5), 'end': pd.Timestamp(2018,2,20)},
{'key': 'ABC-6', 'priority': 'med', 'start': pd.Timestamp(2018, 3, 6), 'end': pd.Timestamp(2018,3,20)}
], columns=['key', 'priority', 'start', 'end'])在这里,start和end表示首次发现错误的日期,以及关闭错误的日期。
我们如何计算每个月的“开放”bug的数量,并按优先级细分?也就是说,输出如下所示:
High Med
Month
January 1 2
February 3 1
March 2 2挑战是同时考虑“开始”和“结束”日期。因此,在1月5日打开并在2月3日关闭的优先级为“高”的bug应该计入1月和2月的“高”优先级bug,而不是3月。诸若此类。
https://stackoverflow.com/questions/50661541
复制相似问题