脚本如何多条数据聚合统计

wen 实用脚本 33

本文目录导读:

脚本如何多条数据聚合统计

  1. 场景一:使用 Excel / Google Sheets(无代码,最快速)
  2. 场景二:使用 Python + Pandas(最推荐,自动化脚本)
  3. 场景三:使用 SQL(适合数据库查询)
  4. 场景四:使用 Shell 脚本(Linux/Mac 文本处理)
  5. 如何选择?

对于“多条数据聚合统计”的脚本需求,核心在于分组(Group By)和聚合函数(如 Sum, Count, Avg, Max, Min)。

最常用、最强大的工具有两个:Excel/Google Sheets 公式(适合小量数据)和 Python Pandas(适合大数据量、自动化、复杂逻辑)。

以下提供三种常见场景的脚本解决方案:

使用 Excel / Google Sheets(无代码,最快速)

如果你只是临时处理几万行以内的数据,无需写代码。

假设数据: | 省份 | 销售额 | | :--- | :--- | | 广东 | 100 | | 广东 | 150 | | 江苏 | 200 |

操作步骤:

  1. 插入数据透视表:选中数据 -> 插入 -> 数据透视表。
  2. 配置字段
    • 行:省份
    • 值:销售额(默认是求和,可改为平均值、计数等)
  3. 结果:自动输出各省的聚合统计。

公式方法(自动生成): =UNIQUE(A2:A10) 获取不重复省份。 =SUMIF(A2:A10, E2, B2:B10) 对指定省份求和。


使用 Python + Pandas(最推荐,自动化脚本)

这是处理 CSV、Excel、数据库查询结果的标准方式,适用于日结报表、API数据处理等。

示例数据(sales.csv):

city,amount
北京,100
上海,50
北京,200
深圳,80
上海,30

脚本代码(aggregate.py):

import pandas as pd
# 1. 读取数据(支持 CSV, Excel, 数据库)
df = pd.read_csv('sales.csv')
# 2. 多条数据聚合统计
# 按 'city' 分组,对 'amount' 列进行求和、计数、平均值统计
result = df.groupby('city').agg(
    总销售额=('amount', 'sum'),
    订单数=('amount', 'count'),
    平均单价=('amount', 'mean')
).reset_index()
# 3. 打印结果
print(result)
# 4. 导出结果
result.to_csv('aggregated_result.csv', index=False)

输出结果:

  city  总销售额  订单数  平均单价
0  北京     300     2   150.0
1  上海     80      2    40.0
2  深圳     80      1    80.0

进阶用法(多列聚合):

# 按 '省份' 分组,同时统计 '销售额' 和 '数量'
df.groupby('省份').agg({
    '销售额': ['sum', 'mean', 'max'],
    '数量': ['sum', 'count']
})

使用 SQL(适合数据库查询)

如果你有数据库访问权限,SQL 是最直接的。

-- 统计每个城市的销售额、订单数、最大订单金额
SELECT 
    city,
    SUM(amount) AS total_sales,
    COUNT(*) AS order_count,
    AVG(amount) AS avg_amount,
    MAX(amount) AS max_amount
FROM 
    sales_table
GROUP BY 
    city
ORDER BY 
    total_sales DESC;

使用 Shell 脚本(Linux/Mac 文本处理)

适合超大的日志文件(几GB),无需安装 Python。

准备数据(data.txt):

广东 100
广东 150
江苏 200

一行命令完成求和:

# 按第一列分组,累加第二列
awk '{arr[$1]+=$2} END {for (i in arr) print i, arr[i]}' data.txt
# 输出:广东 250  江苏 200

统计行数:

awk '{arr[$1]++} END {for (i in arr) print i, arr[i]}' data.txt
# 输出:广东 2  江苏 1

如何选择?

你的情况 推荐工具 原因
临时整理表格 Excel 数据透视表 无需学习,点点鼠标就行
每天拉数据统计 Python Pandas 写一次脚本,以后一键运行
从数据库取数 SQL 直接查询,最稳定
处理超大文本文件 Shell awk 占用内存小,速度快
不想写代码 Excel / Google Sheets 最直观

需要根据你的具体数据格式(CSV、Excel、JSON?)和统计需求(求和、去重、中位数?),可以进一步调整脚本细节,如果你能提供样本数据的前3行,我可以给出更精确的代码。

抱歉,评论功能暂时关闭!