Python如何对DataFrame按hour分组转置 统计Key press与Abandon计数
实现方案
直接使用pandas的分类统计逻辑即可完成需求,两种常用实现方式如下:
- 简洁写法:调用
pd.crosstab生成交叉统计表
import pandas as pd # 替换df为你实际的DataFrame变量名 res = pd.crosstab(df["hour"], df["Disconnection"]).reset_index()
- 灵活写法:分组计数后转宽表,适合后续扩展聚合规则
res = df.groupby(["hour", "Disconnection"]).size().unstack(fill_value=0).reset_index()
基于你提供的样例数据,运行后得到的统计结果为:
| hour | Abandon | Key press |
|---|---|---|
| 8 | 4 | 10 |
| 9 | 3 | 4 |
计数校验:8点时段共14条记录,其中Abandon出现4次、Key press出现10次;9点时段共7条记录,其中Abandon出现3次、Key press出现4次,和原始数据逐行核对一致。
内容的提问来源于stack exchange,提问作者Maki
相关产品推荐
相关产品推荐

