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

Pandas如何按列位置将对应列的单元格填充为该列列名

Pandas按列位置索引填充列值为列名实现方案

需求说明

  • 不通过硬编码列名的方式引用目标列,仅通过列的整数位置索引(从0开始计数)定位列
  • 将定位到的列的所有单元格值,填充为该列自身的列名
  • 本次示例目标列位置索引为2,代码中不得直接出现col3这个列名字符串

原始测试数据构造

import pandas as pd
data = {'col1': [1, 2], 'col2': [3, 4],'col3': [0,0]}
df = pd.DataFrame(data)
print(df)

初始DataFrame输出效果:

col1  col2  col3
0     1     3     0
1     2     4     0

实现代码

# 定义目标列的位置索引,可根据实际需求修改
target_col_index = 2
# 用iloc按位置选中所有行、目标位置的列,赋值为对应位置的列名
df.iloc[:, target_col_index] = df.columns[target_col_index]

print(df)

最终效果

运行代码后输出的DataFrame如下,完全符合预期:

col1  col2  col3
0     1     3  col3
1     2     4  col3

关键逻辑说明

  • iloc是Pandas提供的纯整数位置索引方法,df.iloc[:, 位置]的写法可以在完全不依赖列名的前提下,选中指定位置的整列数据
  • df.columns存储了DataFrame的全部列名,传入整数位置即可获取对应位置的列名,同样不需要硬编码列名
  • 直接对选中的整列赋值标量值,Pandas会自动将该列所有单元格填充为这个标量值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 19:01:46