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

如何在gnuplot中按列名合并表格列?将多列组合为新列

解决方案(基于Python pandas)

要实现按列名组合列并堆叠成新列的需求,可以用pandas的列堆叠与拼接操作完成,步骤如下:

  • 先定义原始数据,按列名指定需要组合的列组(比如AC对应A和C,BD对应B和D)
  • 对每个列组进行纵向堆叠,生成新的单列数据
  • 将堆叠后的列按顺序拼接,得到最终结果

代码实现

import pandas as pd

# 构造原始表格数据
df = pd.DataFrame({
    'A': [1, 2, 8],
    'B': [5, 8, 5],
    'C': [7, 4, 7],
    'D': [4, 9, 4]
})

# 定义列组合规则:键是新列名,值是要堆叠的原列名列表
column_pairs = {'AC': ['A', 'C'], 'BD': ['B', 'D']}

# 生成每个新列
result_columns = []
for new_col, cols in column_pairs.items():
    # 堆叠指定列,并重命名为新列名
    stacked = pd.concat([df[col] for col in cols], ignore_index=True).rename(new_col)
    result_columns.append(stacked)

# 拼接所有新列成最终结果
result_df = pd.concat(result_columns, axis=1)

print(result_df)

输出结果

AC  BD
0   1   5
1   2   8
2   8   5
3   7   4
4   4   9
5   7   4

关键说明

  • 完全通过列名指定要组合的目标列,符合需求要求
  • pd.concat([df[col] for col in cols], ignore_index=True) 负责将指定列纵向堆叠,ignore_index=True 重置索引保证连续
  • 最后通过axis=1横向拼接堆叠后的列,得到目标表格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 07:42:12