pandas DataFrame 交集并集补集的实现

 更新时间:2019年06月24日 14:18:33   作者:niuniuc.vip  
这篇文章主要介绍了pandas DataFrame 交集并集补集的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.场景,对于colums都相同的dataframe做过滤的时候

例如:

df1 = DataFrame([['a', 10, '男'], 
         ['b', 11, '男'], 
         ['c', 11, '女'], 
         ['a', 10, '女'],
         ['c', 11, '男']], 
        columns=['name', 'age', 'sex'])

df2 = DataFrame([['a', 10, '男'], 
         ['b', 11, '女']],
        columns=['name', 'age', 'sex'])

取交集:print(pd.merge(df1,df2,on=['name', 'age', 'sex']))

取并集:print(pd.merge(df1,df2,on=['name', 'age', 'sex'], how='outer'))

取差集(从df1中过滤df1在df2中存在的行):

df1 = df1.append(df2)
df1 = df1.append(df2)
df1 = df1.drop_duplicates(subset=['name', 'age', 'sex'],keep=False)
print(df1)

代码:

# -*- coding:utf-8 -*-
__version__ = '1.0.0.0'
"""
@brief :  简介
@details:  详细信息
@author :  zhphuang
@date  :  2018-10-29
"""

import pandas as pd
from pandas import *

df1 = DataFrame([['a', 10, '男'],
         ['b', 11, '男'],
         ['c', 11, '女'],
         ['a', 10, '女'],
         ['c', 11, '男']],
        columns=['name', 'age', 'sex'])
print("df1:\n%s\n\n" % df1)
df2 = DataFrame([['a', 10, '男'],
         ['b', 11, '女']],
        columns=['name', 'age', 'sex'])
print("df2:\n%s\n\n" % df2)
# 取交集
print("交集:\n%s\n\n" % pd.merge(df1,df2,on=['name', 'age', 'sex']))

# 取并集
print("并集:\n%s\n\n" % pd.merge(df1,df2,on=['name', 'age', 'sex'], how='outer'))

# 从df1中过滤df1在df2中存在的行,也就是取补集
df1 = df1.append(df2)
df1 = df1.append(df2)
print("补集(从df1中过滤df1在df2中存在的行):\n%s\n\n" % df1.drop_duplicates(subset=['name', 'age', 'sex'],keep=False))

截图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • PyTorch实现AlexNet示例

    PyTorch实现AlexNet示例

    今天小编就为大家分享一篇PyTorch实现AlexNet示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Django操作cookie的实现

    Django操作cookie的实现

    很多网站都会使用Cookie。本文主要介绍了Django操作cookie的实现,结合实例形式详细分析了Django框架针对cookie操作的各种常见技巧与操作注意事项,需要的朋友可以参考下
    2021-05-05
  • pytorch 实现在一个优化器中设置多个网络参数的例子

    pytorch 实现在一个优化器中设置多个网络参数的例子

    今天小编就为大家分享一篇pytorch 实现在一个优化器中设置多个网络参数的例子,具有很好参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python脚本实现Mysql数据迁移

    Python脚本实现Mysql数据迁移

    MySQL数据库迁移是指将MySQL数据库中的数据和结构迁移到另一个MySQL实例,下面小编就来为大家介绍一下如何通过Python脚本实现Mysql数据迁移吧
    2025-03-03
  • Python实现树莓派WiFi断线自动重连的实例代码

    Python实现树莓派WiFi断线自动重连的实例代码

    实现 WiFi 断线自动重连,原理是用 Python 监测网络是否断线,如果断线则重启网络服务。接下来给大家分享实现代码,需要的朋友参考下
    2017-03-03
  • Django Middleware自定义中间件及作用详解

    Django Middleware自定义中间件及作用详解

    这篇文章主要为大家介绍了Django Middleware自定义中间件示例及其作用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Python+OpenCV目标跟踪实现基本的运动检测

    Python+OpenCV目标跟踪实现基本的运动检测

    这篇文章主要为大家详细介绍了Python+OpenCV目标跟踪实现基本的运动检测,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • 深入理解Python中的内置常量

    深入理解Python中的内置常量

    这篇文章主要跟大家介绍了关于Python中内置常量的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看吧。
    2017-05-05
  • Python代码实现找到列表中的奇偶异常项

    Python代码实现找到列表中的奇偶异常项

    这篇文章主要介绍了Python代码实现找到列表中的奇偶异常项,文章内容主要利用Python代码实现了从输入列表中寻找奇偶异常项,需要的朋友可以参考一下
    2021-11-11
  • Python多进程与服务器并发原理及用法实例分析

    Python多进程与服务器并发原理及用法实例分析

    这篇文章主要介绍了Python多进程与服务器并发原理及用法,深入浅出的介绍了进程、并行、并发、同步、异步等相关概念与原理,并结合实例形式给出了Python多进程编程相关操作技巧,需要的朋友可以参考下
    2018-08-08

最新评论