如何用DataFrame中placeholder列的值引用同表列生成新列?
实现方法
这个需求完全可以实现,以下是基于Python pandas库的具体解决方案:
步骤1:构造输入DataFrame
先创建符合你示例的DataFrame:
import pandas as pd df = pd.DataFrame({ 'ID': [9234, 203841, 94532], '1': [923, 1230, 4380], '2': [12, 438, 312], '3': [942, 1029, 349], 'placeholder': [2, 1, 3] })
步骤2:生成final列
通过apply函数逐行处理,根据placeholder的值匹配对应列,再拼接后缀:
df['final'] = df.apply(lambda row: f"{row[str(row['placeholder'])]}_ID", axis=1)
逻辑说明
- 把
placeholder的数值转为字符串,因为DataFrame的列名是字符串类型的'1'、'2'、'3' - 通过
row[列名]获取当前行对应列的数值 - 用f-string拼接
_ID后缀,生成最终结果
处理后结果
执行代码后,DataFrame会新增final列,结果如下:
| ID | 1 | 2 | 3 | placeholder | final |
|---|---|---|---|---|---|
| 9234 | 923 | 12 | 942 | 2 | 12_ID |
| 203841 | 1230 | 438 | 1029 | 1 | 1230_ID |
| 94532 | 4380 | 312 | 349 | 3 | 349_ID |
内容的提问来源于stack exchange,提问作者WUPD
相关产品推荐
相关产品推荐

