如何按每7行分组对数据集min列执行求和操作
按每7行分组汇总min列总和的实现方案
以下提供两种常用数据分析工具的实现代码:
Python(Pandas)实现
核心逻辑是利用行索引整除7生成唯一分组标识,再按分组求和:
import pandas as pd # 生成每7行相同的分组ID(索引从0开始的场景) data["group_id"] = data.index // 7 # 分组对min列求和 result = data.groupby("group_id", as_index=False)["min"].sum()
如果你的数据集行索引是从1开始的,把分组ID生成逻辑修改为(data.index - 1) // 7即可,和需求里第1-7行、第8-14行的分组规则完全匹配。
R实现
用dplyr包的行号生成和分组汇总能力实现:
library(dplyr) result <- data %>% # 按行号生成每7行一致的分组ID mutate(group_id = (row_number() - 1) %/% 7) %>% group_by(group_id) %>% summarise(min_total = sum(min, na.rm = TRUE))
代码里加了na.rm = TRUE参数,遇到空值时会自动跳过不会返回NA,不需要可以删掉。
内容的提问来源于stack exchange,提问作者xavier
相关产品推荐
相关产品推荐

