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

数据集不同类型求和需求(Distinct sum of a dataset)

按TYPE分组求和的实现方法

1. Linux/Unix环境下用AWK命令

直接通过AWK处理文本,一行命令就能搞定:

awk 'NR==1{print;next} {sum[$1]+=$2} END{for(k in sum) print k, sum[k]}' your_data.txt
  • 保留第一行表头,然后以TYPE为键累加count值,最后遍历输出分组后的总和。

如果要直接处理给定的输入内容,可通过管道传递:

cat << EOF | awk 'NR==1{print;next} {sum[$1]+=$2} END{for(k in sum) print k, sum[k]}'
TYPE count
TYPE1 50
TYPE2 20
TYPE1 10
TYPE2 30
EOF

2. Python实现

基础字典方式(无需额外依赖)

data = """TYPE count
TYPE1 50
TYPE2 20
TYPE1 10
TYPE2 30"""

lines = data.splitlines()
sum_dict = {}
print(lines[0])  # 打印表头
for line in lines[1:]:
    typ, cnt = line.split()
    sum_dict[typ] = sum_dict.get(typ, 0) + int(cnt)

for typ, total in sum_dict.items():
    print(f"{typ} {total}")

Pandas库方式(适合大规模数据)

import pandas as pd

# 构建数据框
df = pd.DataFrame([
    ["TYPE1", 50],
    ["TYPE2", 20],
    ["TYPE1", 10],
    ["TYPE2", 30]
], columns=["TYPE", "count"])

# 分组求和并输出
result = df.groupby("TYPE")["count"].sum().reset_index()
print(result.to_string(index=False))

3. Excel/Google Sheets操作步骤

  1. 将数据粘贴到表格,A列存TYPE,B列存count
  2. 在空白列(比如C列)列出所有唯一的TYPE值(可通过「数据→删除重复值」提取)
  3. 在D2单元格输入公式=SUMIF(A:A, C2, B:B),下拉填充即可得到对应TYPE的总和

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 12:30:54