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

DataFrame元素合并方法咨询 需支持N列数据批量处理

宽格式DataFrame批量转长格式实现方案

你需要的多列批量合并效果可以通过pandas的wide_to_long方法实现,天然支持任意数量同规则列的批量处理,无需逐列配置。

原数据参考

DataFrame

目标输出参考

Changed Dataframe

具体实现代码

import pandas as pd

# 1. 读取你的原始数据,替换为你自己的读取逻辑即可
# df = pd.read_excel("你的文件路径.xlsx")
# df = pd.read_csv("你的文件路径.csv")

# 下方为测试用的示例数据构造,你使用时可以删除
df = pd.DataFrame({
    "唯一标识列": ["示例行1", "示例行2"],
    "属性1_1": ["值1", "值A"],
    "属性2_1": ["值2", "值B"],
    "属性1_2": ["值3", "值C"],
    "属性2_2": ["值4", "值D"],
    # 可继续添加属性1_N、属性2_N...任意多组列,后续代码无需修改
})

# 2. 批量转换逻辑
converted_df = pd.wide_to_long(
    df,
    # 这里填所有要合并的列的公共前缀,有多少加多少,比如你有10个属性就填10个
    stubnames=["属性1", "属性2"],
    # 这里填原表中不需要合并的主键列名,可以填多个,比如["主键1", "主键2"]
    i="唯一标识列",
    j="分组序号",
    # 列名前缀和数字后缀之间的分隔符,比如你的列是属性1_1就填"_",是属性11就填""
    sep="_",
    suffix="\\d+"
).reset_index()

# 不需要分组序号可以直接删掉该行
converted_df = converted_df.drop("分组序号", axis=1)

# 3. 输出验证或者保存
print(converted_df)
# converted_df.to_excel("转换后结果.xlsx", index=False)

多列适配说明

如果需要处理N组列,仅需修改stubnames参数,把所有要合并的列的公共前缀加入列表即可,其余逻辑完全不变,支持任意数量的同规则列批量处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:06:03