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))

pandas DataFrame 交集并集补集相关推荐

  1. 集合中常用的合并 求交集 并集 补集问题

    1.在平时的时候经常会用到求交集.补集.并集.差集的问题 本文通过引入org.apache.commons.collections4.CollectionUtils 进行很方便的解决 ArrayLis ...

  2. 『Python核心技术与实战』pandas.DataFrame()函数介绍

    pandas.DataFrame()函数介绍! 文章目录 一. 创建DataFrame 1.1. numpy创建 1.2. 直接创建 1.3. 字典创建 1.4. Series和DataFrame 二 ...

  3. pandas使用tabulate函数将pandas dataframe以类似于plsql表格的方式打印出来(printing dataframe in tabular format)

    pandas使用tabulate函数将pandas dataframe以类似于plsql表格的方式打印出来(printing dataframe in tabular format) 目录

  4. python将scikit-learn自带数据集转换为pandas dataframe格式

    python将scikit-learn自带数据集转换为pandas dataframe格式 目录 python将scikit-learn自带数据集转换为pandas dataframe格式 #仿真数据

  5. pandas基于条件判断更新dataframe中所有数据列数值内容的值(Conditionally updating all values in pandas Dataframe )

    pandas基于条件判断更新dataframe中所有数据列数值内容的值(Conditionally updating all values in pandas Dataframe ) 目录

  6. pandas基于条件判断更新dataframe中特定数据列数值内容的值(Conditionally updating values in specific pandas Dataframe )

    pandas基于条件判断更新dataframe中特定数据列数值内容的值(Conditionally updating values in specific pandas Dataframe ) 目录

  7. R语言union函数计算数据对象(vector、list、dataframe)的并集:union函数计算两个vector向量、dataframe、列表list的并集

    R语言union函数计算数据对象(vector.list.dataframe)的并集:union函数计算两个vector向量.dataframe.列表list的并集 目录

  8. pyspark dataframe数据连接(join)、转化为pandas dataframe、基于多个字段删除冗余数据

    pyspark dataframe数据连接(join).转化为pandas dataframe.基于多个字段删除冗余数据 目录 pyspark dataframe数据连接(join).转化为panda ...

  9. plotly可视化表格数据:以表格可视化pandas dataframe

    plotly可视化表格数据:以表格可视化pandas dataframe # plotly可视化dataframe中的表格数据: import plotly as py from plotly.too ...

  10. python将pandas dataframe内容写入ElasticSearch实战

    python将pandas dataframe内容写入ElasticSearch实战 目录 python将pandas dataframe内容写入ElasticSearch实战 索引设置 数据写入 数 ...

最新文章

  1. Error: Cannot find module ‘express‘
  2. Win10 15063 开始运行不保存历史记录原因和解决方法
  3. 各类木材强度_层状磷酸锆/ 聚磷酸铵复合阻燃剂对木材的阻燃抑烟性能研究
  4. BC26通过MQTT协议连接ONENET,AT流程
  5. MySQL和java连连看_用 JAVA 开发游戏连连看(之一)动手前的准备
  6. js 获取样式兼容方法
  7. mini2440 貌似复杂的mmu
  8. 47. 全排列 II
  9. Linux中文档与目录的特殊权限
  10. Codebook model 视频抠像 xp sp3 + vs2005 + OpenCV 2.3.1
  11. java 视频截图_获取视频截图
  12. mysql乐观锁 超卖_秒杀系统之超卖现象
  13. 【20191025】考试
  14. ME3616-OPENCPU完整调试笔记
  15. 数据仓库应用篇(一)需求文档模板和需求评审
  16. 如何使用matlab
  17. 一个Callable接口能有多少知识点?在裁员的大背景下,我仍然吊打了大厂面试官
  18. linux基础指令下
  19. TestNG监听器实现失败自动截图、重跑、自定义html结果文件功能
  20. RFID仓库管理解决方案-RFID智能仓储-RFID智能仓储-新导智能

热门文章

  1. 学嵌入式需要报培训班吗?
  2. 超火的微信渐变国旗头像,一键生成!!
  3. 《彼得林奇的成功投资》一——好公司第一位,价格第二位
  4. 基于微信小程序的实验室管理系统 文档+云开发项目源码及云数据库+部署说明
  5. 全国法院名录json
  6. 泰坦尼克号python数据预处理_Python机器学习入门:泰坦尼克号预测
  7. log怎么用计算机求,手机计算器log怎么用
  8. iso计算机术语简单解释,计算机网络知识(上)
  9. 波长光电IPO过会:年营收3亿 黄胜弟与朱敏夫妇是实控人
  10. win10重置mysql密码是多少钱_Win10重置mariadb密码步骤