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

Python Pandas如何为DataFrame新增列,按Select列取值引用对应列值

解决方案

方法1:使用pandas lookup 方法(性能最优,适合大数据量)

直接根据行索引和Select列对应的列名取值,代码如下:

import pandas as pd

# 假设你的原始DataFrame名称为df
# 如果你的数值列列名为字符串类型,需要将Select列值转为字符串匹配
df['Value'] = df.lookup(df.index, df['Select'].astype(str))

# 如果你的数值列列名本身是整数类型,不需要转类型,直接用下面的代码即可
# df['Value'] = df.lookup(df.index, df['Select'])

方法2:使用apply逐行处理(逻辑直观,适合小数据量)

逐行读取Select的值,再取对应列的数值:

df['Value'] = df.apply(lambda row: row[str(row['Select'])] if isinstance(df.columns[1], str) else row[row['Select']], axis=1)

执行完以上任意一种方法后,得到的df就是你需要的包含Value列的目标结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:24:02