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

Pandas分组后将条目拆分至不同列的实现需求

Pandas DataFrame格式转换方案

需求概述

你需要将宽格式的DataFrame(不同地区作为单独列)转换为长格式(地区作为行维度,对应销量值):

  • 原始宽格式结构:

    Date、Item列作为标识,East、West、North、South为不同地区的销量列

  • 目标长格式结构:

    Date、Item、Region(原地区列名)、Sales(对应地区销量值)四列

实现代码

使用Pandas内置的melt()函数即可快速完成转换,假设你的原始DataFrame变量名为df:

import pandas as pd

# 执行宽转长操作
transformed_df = df.melt(
    id_vars=['Date', 'Item'],  # 固定保留的标识列
    var_name='Region',         # 原地区列名转换后的新列名称
    value_name='Sales'         # 原销量值对应的新列名称
)

# 可选:按Date和Item排序,匹配目标格式的顺序
transformed_df = transformed_df.sort_values(by=['Date', 'Item']).reset_index(drop=True)

代码说明

  • id_vars:指定不需要被转换的列,这些列会保留在结果中作为每一行的标识
  • var_name:设置从原列名转换而来的新列的名称(即地区列)
  • value_name:设置原列中对应数值的新列名称(即销量列)

执行上述代码后,就能得到你需要的目标格式DataFrame。

内容的提问来源于stack exchange,提问作者Vijay Pal Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 21:37:07