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

如何在计算时重塑或转置数据集指定列并聚合销售数据?

解决方法:用Pandas实现数据宽格式转换及占比计算

我来帮你搞定这个数据处理需求!你需要把长格式的销售数据,按年份、月份、销售专员分组,同时计算各客户细分的总收入及占比,最终得到每行唯一对应「日期(年+月)+销售专员」的宽格式表。用Python的Pandas库就能轻松实现,具体步骤如下:

步骤1:准备并加载数据

首先修正你提供的CSV格式(原内容里字段和值有连写问题),然后加载为DataFrame:

import pandas as pd

# 修正后的原始数据
data = [
    [2015, 1, "USA", "Bill", 20, "Enterprise"],
    [2015, 1, "USA", "Bill", 10, "Enterprise"],
    [2015, 1, "Germany", "Bill", 5, "Consumer"],
    [2015, 1, "USA", "Bill", 5, "Enterprise"],
    [2015, 1, "Germany", "Ted", 5, "Consumer"],
    [2015, 1, "USA", "Bill", 10, "Consumer"],
    [2015, 1, "Germany", "Bill", 5, "Consumer"],
    [2015, 1, "Germany", "Ted", 20, "Enterprise"],
    [2015, 1, "Germany", "Ted", 20, "Consumer"]
]

df = pd.DataFrame(data, columns=["Year", "Month", "Country", "Associate", "Sales Revenue", "Customer Segment"])

步骤2:按维度聚合收入

先按「年份、月份、销售专员、客户细分」分组,计算每个分组的总销售收入:

# 聚合各细分的收入
aggregated = df.groupby(["Year", "Month", "Associate", "Customer Segment"])["Sales Revenue"].sum().reset_index()

步骤3:转换为宽格式

把客户细分转成列,让每行对应「年+月+销售专员」:

# 转宽格式,缺失值填充0
wide_df = aggregated.pivot_table(
    index=["Year", "Month", "Associate"],
    columns="Customer Segment",
    values="Sales Revenue",
    fill_value=0
).reset_index()

步骤4:计算总收入及各细分占比

先算出每个销售专员每月的总收入,再计算各细分收入的占比(保留两位小数):

# 计算总收入
wide_df["Total Revenue"] = wide_df["Consumer"] + wide_df["Enterprise"]

# 计算占比
wide_df["Consumer %"] = (wide_df["Consumer"] / wide_df["Total Revenue"]).round(2)
wide_df["Enterprise %"] = (wide_df["Enterprise"] / wide_df["Total Revenue"]).round(2)

# 调整列顺序,匹配你想要的格式
final_df = wide_df[["Year", "Month", "Associate", "Consumer", "Enterprise", "Total Revenue", "Consumer %", "Enterprise %"]]

最终结果

运行后得到的final_df就是你想要的格式,输出如下:

YearMonthAssociateConsumerEnterpriseTotal RevenueConsumer %Enterprise %
20151Bill2035550.360.64
20151Ted2520450.560.44

这样就完全符合你的需求:每行以日期(年+月)和销售专员为唯一标识,同时展示了各客户细分的收入、总收入以及对应占比。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:52:53