利用Pandas求两个dataframe差集的过程详解

 更新时间:2022年08月29日 08:55:30   作者:元神の助手  
在Pandas中求差集没有专门的函数,处理办法就是将两个DataFrame追加合并,然后去重,下面这篇文章主要给大家介绍了关于利用Pandas求两个dataframe差集的相关资料,需要的朋友可以参考下

1、交集

intersected=pd.merge(df1,df2,how='inner')

延伸(针对列求交集)intersected=pd.merge(df1,df2,on['name'],how='inner')

2、差集(df1-df2为例)

diff=pd.concat([df1,df2,df2]).drop_duplicates(keep=False)

差集函数的详解:

1、Pandas 通过 concat() 函数能够轻松地将 Series 与 DataFrame 对象组合在一起,函数的语法格式如下: pd.concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False)

 2、需要对dataframe中的一列值有重复的,应用drop_duplicates解决了此问题。

比如:

ata={"a":[1,1,2,4,3,9],"b":[2,2,3,5,5,10],"c":[3,4,5,6,6,11],"d":[4,5,6,7,8,12]}
pd_data=pd.DataFrame(data=data)
print(pd_data)
t=pd_data.drop_duplicates(subset=['c','b'],keep='last',inplace=False)
print(t)

说明:

keep='first'表示保留第一次出现的重复行,是默认值。keep另外两个取值为"last"和False,分别表示保留最后一次出现的重复行和去除所有重复行。

inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本。如果要生成新的DataFrame:,inplace=False

subset要去重的列。subset=['c','b'],表示行中的记录:c和b列都重复的。

3、将concat和drop_duplicates结合起来就解决了求差集的问题。

另外,还有一种方法也可以达到同样的目的:

总结

到此这篇关于利用Pandas求两个dataframe差集的文章就介绍到这了,更多相关Pandas求dataframe差集内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 简单了解python元组tuple相关原理

    简单了解python元组tuple相关原理

    这篇文章主要介绍了简单了解python元组tuple相关原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python添加进度条tqdm进阶使用实例

    Python添加进度条tqdm进阶使用实例

    这篇文章主要为大家介绍了Python添加进度条tqdm进阶使用实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别

    详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别

    这篇文章主要介绍了详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别的相关资料,需要的朋友可以参考下
    2017-06-06
  • Python pandas如何向excel添加数据

    Python pandas如何向excel添加数据

    这篇文章主要介绍了Python pandas如何向excel添加数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Python 降级的两种实现方法

    Python 降级的两种实现方法

    本文主要介绍了Python 降级的两种实现方法,帮助用户在降级Python时不完全卸载,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • 使用Python实现发送邮件的常用方法小结

    使用Python实现发送邮件的常用方法小结

    在日常工作中,我们可能经常会用到发送邮件,但如果每次都人工来发送,那岂不是很麻烦,今天我们就来讲解下如何通过python语言来优雅地发送邮件
    2024-04-04
  • python 录制系统声音的示例

    python 录制系统声音的示例

    这篇文章主要介绍了python 录制系统声音的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • Python利用pyecharts实现数据可视化的示例代码

    Python利用pyecharts实现数据可视化的示例代码

    Pyecharts是一个用于生成 Echarts 图表的 Python 库,Echarts 是一个由百度开源的数据可视化工具,它提供的图表种类丰富,交互性强,兼容性好,非常适合用于数据分析结果的展示,本文将给大家介绍Python利用pyecharts实现数据可视化,需要的朋友可以参考下
    2024-09-09
  • python使用phoenixdb操作hbase的方法示例

    python使用phoenixdb操作hbase的方法示例

    这篇文章主要介绍了python使用phoenixdb操作hbase的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • 使用Python实现控制摄像头的方法详解

    使用Python实现控制摄像头的方法详解

    当今,随着计算机技术的发展,摄像头已经成为了人们生活中不可或缺的一部分。而Python作为一种流行的编程语言,也可以轻松地控制和操作摄像头。本文将介绍如何使用Python中的常用库(例如OpenCV和Tkinter)来控制和操作摄像头,需要的可以参考一下
    2023-03-03

最新评论