如何用Polars按分组统计列中特定值的数量及求和
Polars分组聚合:按迭代与团队统计任务类型数量及故事点总和
需求说明:
- 按
sprint_start_date(迭代开始日期)和squad(团队)分组 - 统计每组内
issue_type为Story、Spike、Bug的条目数量 - 计算每组内
story_points的总和
正确实现代码
import polars as pl aggregate_commitment_df = commitment_df.group_by("sprint_start_date", "squad").agg( stories_committed=pl.col("issue_type").eq("Story").sum(), spikes_committed=pl.col("issue_type").eq("Spike").sum(), bugs_committed=pl.col("issue_type").eq("Bug").sum(), story_points_committed=pl.sum("story_points"), )
代码解释
group_by("sprint_start_date", "squad"):指定分组维度,将数据按迭代日期和团队拆分pl.col("issue_type").eq("Story").sum():通过布尔判断筛选出issue_type为Story的条目,对布尔值求和(True等价于1,False等价于0),得到该类型的条目数pl.sum("story_points"):直接对分组内的story_points字段求和,得到该组的故事点总和
内容的提问来源于stack exchange,提问作者KOB
相关产品推荐
相关产品推荐

