我迫切需要一项数据分析任务,我想要在一个使用Python语言的数据帧上执行它. 这就是我所拥有的数据框架:
df = pd.DataFrame({"Person": ["P1", "P1","P1","P1","P1","P1","P1","P1","P1","P1", "P2", "P2","P2","P2","P2","P2","P2","P2","P2","P2"],
"Activity": ["A", "A", "A", "B", "A", "A", "A", "A", "A", "A", "A", "A", "A", "B", "A", "A", "B", "A", "B", "A"],
"Time": ["0", "0", "1", "1", "1", "3", "5", "5", "6", "6", "6", "6", "6", "6", "6", "6", "6", "6", "6", "6"]
})
我想要
- 找出每个人连续重复活动超过2次的组数"A",并
- 以每组的结束时间减go 开始时间除以组数来计算连续重复"A"的平均时间
即目标结果数据帧应如下所示(P1的AVGTime计算为(1-0+6-1)/2):
solution = pd.DataFrame({"Person": ["P1", "P2"],
"Activity": ["A", "A"],
"Count": [2, 1],
"AVGTime": [3, 0]})
然而,解决方案不会聚集在一个列上,比如我这里的"Person".此外,考虑到我的数据帧大约有7MIO,该解决方案似乎执行得不太好.排好了.
如有任何提示,我将不胜感激!