微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

串联两个数据框,同时在两个数据框之一中保留多余的重复行,但删除其余的行

如何解决串联两个数据框,同时在两个数据框之一中保留多余的重复行,但删除其余的行

我有两个数据框。名称,年龄和兴趣是我的专栏,

df1:
      Name  Age Interest
0  ramesh    1    rugby
1   dhoni    5     coco
2     vir   14  cricket
3     vir   14  cricket
4     vir   14  cricket
5     lee    2  cricket
6     lee    2  cricket

df2:
   Name  Age Interest
0  abd    3     coco
1  vir   14  cricket
2  vir   14  cricket
3  vir   14  cricket
4  vir   14  cricket
5  vir   14  cricket
6  lee    2  cricket

有多个重复项,我想通过串联df1,df2删除重复项来生成一个数据帧。但是多余的重复记录也应该出现在结果数据框中。如果df1中有3个相同的行,而df2中有5个相同的行,则在结果数据帧中应出现2个重复项。它不应删除所有重复项。

(result_df) 预期的产量

      Name  Age Interest
0  ramesh    1    rugby
1   dhoni    5     coco
2     lee    2  cricket
3     abd    3     coco
4     vir   14  cricket
5     vir   14  cricket

(无需考虑结果输出中出现的重复顺序)

我尝试使用drop_duplicates,但是会删除所有重复的行,而使用“ keep”只能保留第一个或最后一个重复值。该怎么办?

删除所有重复项的示例代码

import pandas as pd 

data1 = [['ramesh',1,'rugby'],['dhoni',5,'coco'],['vir',14,'cricket'],['lee',2,'cricket'] ] 
df1 = pd.DataFrame(data1,columns = ['Name','Age','Interest']) 
  
data2 = [['abd',3,'cricket']]
df2 = pd.DataFrame(data2,'Interest']) 

print(df1)
print(df2)

list_df = [df1,df2]
df_concat = pd.concat(list_df)
result_df = df_concat.drop_duplicates(keep = False)
# having value keep = first/last doesn't help
print(result_df)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?