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

Pandas如何基于已有列的列名和取值生成2个新列并扩展行

实现方法

你要的效果可以通过拆分两部分数据再拼接实现,代码示例如下:

import pandas as pd
import numpy as np

# 假设你的原始DataFrame变量名为df
# 第一部分:保留原数据所有列,新增Col 5、Col 6对应Col 3的列名和值
part1 = df.copy()
part1['Col 5'] = 'Col 3'
part1['Col 6'] = part1['Col 3']

# 第二部分:构造前四列为空的结构,Col 5、Col 6对应Col 4的列名和值
part2 = pd.DataFrame(np.nan, index=df.index, columns=part1.columns)
part2['Col 5'] = 'col 4' # 和示例一致使用小写的话就用这个值,要大写改回'Col 4'即可
part2['Col 6'] = df['Col 4'].values

# 上下拼接两部分,重置索引得到最终结果
result = pd.concat([part1, part2], ignore_index=True)

如果有更多列需要做类似展开,可以遍历列名循环生成对应的part后统一拼接,两列场景下上面的写法最直观不易出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:45:01