首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对具有重复项的数据集进行自连接

对具有重复项的数据集进行自连接
EN

Stack Overflow用户
提问于 2019-12-02 22:00:10
回答 1查看 29关注 0票数 0

我正在尝试对我的数据集执行等同于self join或vlookup的操作。问题是,我的数据集中有重复项,所以这会使我的数据集的大小增加5。

我不能删除重复项,因为我需要它们在我的数据集中。

为了给您提供上下文,这里是我的数据集外观的示例

代码语言:javascript
复制
name  pts  opp  
 a     7    b
 c     6    b
 d     5    b
 a     7    c
 b     9    d
 d     5    c

我的想法是返回另一个at列,在那里我查看与opp相关联的at。因此,期望的输出将是

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2019-12-02 22:08:52

由于您说opp列将不包含来自name列的任何重复值,因此您可以对name列执行drop_duplicates()操作,并创建一个映射器系列,然后使用series.map()将其映射回来:

代码语言:javascript
复制
df['pts2']=df['opp'].map(df.drop_duplicates('name').set_index('name')['pts'])

代码语言:javascript
复制
  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     6
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59140465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档