You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并变量中的重复项并对对应数值分组求和

按鱼类名称分组聚合总捕获量实现方案

这个需求的核心是按键值分组求和,是结构化数据处理的常规聚合操作,以下是不同工具/语言下的直接可复用实现,对应输入输出完全匹配你给出的示例结构:


Python 实现

方案1:pandas 库(数据处理场景首选)

如果你的二维变量是pandas DataFrame格式(假设变量名为catch_raw,列名保持Column 1/Column 2),单步聚合即可得到结果:

import pandas as pd

# 分组求和,as_index=False保证输出仍是普通二维表结构,不会把鱼名设为行索引
catch_sum = catch_raw.groupby("Column 1", as_index=False)["Column 2"].sum()

运行后catch_sum就是无重复鱼名、对应总捕获量的新变量,和你给出的期望输出完全一致。

方案2:Python原生实现(无第三方库依赖)

如果原始数据是嵌套列表/元组格式(比如[("Fish 1", 10), ("Fish 2", 5), ...]),可以用字典累加实现:

catch_sum_dict = {}
for fish_name, catch_count in raw_data:
    # 鱼名第一次出现时初始化计数为0
    catch_sum_dict.setdefault(fish_name, 0)
    catch_sum_dict[fish_name] += catch_count

# 转换为和原始结构一致的二维列表
catch_sum = [(name, total) for name, total in catch_sum_dict.items()]

R 实现

方案1:dplyr 语法(生态/统计分析常用)

library(dplyr)

catch_sum <- catch_raw %>%
  group_by(`Column 1`) %>%
  summarise(`Column 2` = sum(`Column 2`), .groups = "drop")

方案2:base R 实现(无包依赖)

catch_sum <- aggregate(`Column 2` ~ `Column 1`, data = catch_raw, FUN = sum)

桌面表格工具(Excel/WPS)实现

无需写代码,用数据透视表快速完成:

  • 选中原始两列数据,点击插入「数据透视表」
  • 将Column 1(鱼类名称)字段拖入「行」区域
  • 将Column 2(捕获数量)字段拖入「值」区域,默认汇总规则即为求和
  • 如需固定为普通二维表,选中透视表结果复制,粘贴为值即可

以上任意方法用你给出的示例数据运行,输出结果均为:Fish 1总捕获20、Fish 2总捕获8、Fish 3总捕获1,和预期结果完全匹配。


内容的提问来源于stack exchange,提问作者sf33

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 09:36:24