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

基于DataFrame两列创建映射:生成实体配对新列的技术咨询

如何为Pandas DataFrame中的同组实体添加配对实体列?

嘿,我来帮你搞定这个需求!你手里的DataFrame里,col_A是实体列,col_B是分组索引,每组正好有两个配对实体,现在要给每个实体添加上同组里的另一个实体作为新列col_C,这个用Pandas的分组功能就能轻松实现。

具体实现代码

首先先确认你的初始数据:

import pandas as pd

df = pd.DataFrame({'col_A' : ['a','b','c','d'], 'col_B' : [1,1,2,2]})

然后用groupby配合transform来生成新列:

# 对每个分组的col_A进行反转,得到配对实体
df['col_C'] = df.groupby('col_B')['col_A'].transform(lambda x: x[::-1])

运行结果

执行完上面的代码后,你的DataFrame会变成这样:

col_Acol_Bcol_C
0a1b
1b1a
2c2d
3d2c

原理说明

  • groupby('col_B')会把数据按照col_B的取值分成独立的分组(这里就是分组1和分组2);
  • transform方法会对每个分组单独执行指定的操作,并且把结果映射回原DataFrame的对应位置;
  • 这里的lambda x: x[::-1]是把每个分组里的col_A元素反转,这样每组里的第一个元素就会拿到第二个元素的值,第二个元素拿到第一个元素的值,正好就是我们需要的配对实体。

这个方法简洁高效,完全适配你每组两个实体的场景~

内容的提问来源于stack exchange,提问作者A.Papa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:50:23