我正在尝试对我的数据集执行等同于self join或vlookup的操作。问题是,我的数据集中有重复项,所以这会使我的数据集的大小增加5。
我不能删除重复项,因为我需要它们在我的数据集中。
为了给您提供上下文,这里是我的数据集外观的示例
name pts opp
a 7 b
c 6 b
d 5 b
a 7 c
b 9 d
d 5 c我的想法是返回另一个at列,在那里我查看与opp相关联的at。因此,期望的输出将是
name pts opp pts
a 7 b 9
c 6 b 9
d 5 b 9
a 7 c 6
b 9 d 5
d 5 c 6发布于 2019-12-02 22:08:52
由于您说opp列将不包含来自name列的任何重复值,因此您可以对name列执行drop_duplicates()操作,并创建一个映射器系列,然后使用series.map()将其映射回来:
df['pts2']=df['opp'].map(df.drop_duplicates('name').set_index('name')['pts']) name pts opp pts2
0 a 7 b 9
1 c 6 b 9
2 d 5 b 9
3 a 8 c 6
4 b 9 d 5
5 d 2 c 6https://stackoverflow.com/questions/59140465
复制相似问题