You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

CSV门店销售数据分析需求:计算各省均值、Top门店及差值

嘿,看来你在计算省份门店平均销售额这儿卡壳了,别担心,用Python的pandas包就能轻松搞定这三个需求——毕竟处理CSV和分组统计它是专业的!我给你一步步拆解:

1. 读取CSV并计算省份门店平均销售额

这一步的核心是用groupby按省份分组,再对销售额列求均值:

import pandas as pd

# 替换成你的CSV文件实际路径
df = pd.read_csv('你的销售数据.csv')

# 按省份分组,计算每组销售额的平均值,reset_index将分组索引转为普通列
province_avg_sales = df.groupby('省份')['销售额'].mean().reset_index()
# 重命名列名,让结果更清晰
province_avg_sales.rename(columns={'销售额': '省份平均销售额'}, inplace=True)

⚠️ 注意:把代码里的省份销售额替换成你CSV文件中实际的列名(比如如果你的列叫地区销售总额,就对应修改)。如果数据里有缺失值,建议先通过df.dropna(subset=['省份', '销售额'])删除缺失关键字段的行,避免计算误差。

2. 找出每个省份销量最高的门店

groupby结合idxmax定位到每个省份销售额最高的门店数据,这样能同时拿到门店ID和对应的销售额:

# 获取每个省份销售额最高的门店所在行的索引
top_store_indices = df.groupby('省份')['销售额'].idxmax()
# 根据索引提取对应门店的完整数据
top_stores_per_province = df.loc[top_store_indices].reset_index(drop=True)
# 筛选并重命名需要的列
top_stores_per_province = top_stores_per_province[['省份', '门店ID', '销售额']]
top_stores_per_province.rename(columns={
    '销售额': '门店最高销售额',
    '门店ID': '销量最高门店ID'
}, inplace=True)

3. 计算两者的差值

把前两步的结果按省份合并,直接做减法就能得到差值:

# 按省份字段合并两个数据集
final_analysis = pd.merge(province_avg_sales, top_stores_per_province, on='省份')
# 计算最高门店销售额与省份平均销售额的差值
final_analysis['差值'] = final_analysis['门店最高销售额'] - final_analysis['省份平均销售额']

# 可选:把结果导出为CSV保存
final_analysis.to_csv('省份门店销售分析结果.csv', index=False)

这样一套操作下来,三个需求就都完成啦!如果你的数据量特别大,pandas也能高效处理,完全不用担心性能问题。

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

火山引擎 最新活动