Python:按行计数聚合数据

2024-09-28 18:55:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在Python中以各种不同的方式聚合this呼叫中心数据,例如按类型和优先级划分的平均q峎u时间。使用df.groupby这相当简单。在

不过,我也希望能够按通话量汇总。问题是每一行数据都代表一个调用,所以我不知道该怎么做。如果我只是按日期分组,那么我可以使用'count'作为聚合函数,但如何按工作日聚合,即创建一个数据帧,如:

weekday    mean_row_count
   1           100
   2           150
   3           120
   4           220
   5           200
   6           30
   7           35  

有什么好办法吗?我所能想到的就是在每个工作日循环计算唯一日期的数量,然后将每个工作日的计数除以唯一日期的数量,但我认为这可能会变得一团糟,如果我还需要按其他变量分组,或是按一天中的日期和小时进行分组,那么这可能会变得一团糟,而且可能会减慢速度。在


Tags: 数据函数df数量count方式时间代表
2条回答

当我发现自己在思考如何以一种通用的方式聚合和查询数据时,它认为解决方案可能是一个数据库。SQLite是一个轻量级的嵌入式数据库,对于简单的用例具有高性能,Python和对它的本地支持。在

我的建议是:为您的数据创建一个数据库和一个表,最终根据您的需要添加辅助表,将数据加载到其中,并使用交互式sqlite或Python脚本进行查询。在

由于每个调用的日期都是给定的,所以一个想法是实现一个函数,从给定的日期确定一周中的哪一天。有很多方法可以做到这一点,比如康威的末日算法。 https://en.wikipedia.org/wiki/Doomsday_rule

然后,你可以浏览每一行,确定工作日,并将每个工作日的计数相加。在

相关问题 更多 >