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))
pandas DataFrame 交集并集补集相关推荐
- 集合中常用的合并 求交集 并集 补集问题
1.在平时的时候经常会用到求交集.补集.并集.差集的问题 本文通过引入org.apache.commons.collections4.CollectionUtils 进行很方便的解决 ArrayLis ...
- 『Python核心技术与实战』pandas.DataFrame()函数介绍
pandas.DataFrame()函数介绍! 文章目录 一. 创建DataFrame 1.1. numpy创建 1.2. 直接创建 1.3. 字典创建 1.4. Series和DataFrame 二 ...
- pandas使用tabulate函数将pandas dataframe以类似于plsql表格的方式打印出来(printing dataframe in tabular format)
pandas使用tabulate函数将pandas dataframe以类似于plsql表格的方式打印出来(printing dataframe in tabular format) 目录
- python将scikit-learn自带数据集转换为pandas dataframe格式
python将scikit-learn自带数据集转换为pandas dataframe格式 目录 python将scikit-learn自带数据集转换为pandas dataframe格式 #仿真数据
- pandas基于条件判断更新dataframe中所有数据列数值内容的值(Conditionally updating all values in pandas Dataframe )
pandas基于条件判断更新dataframe中所有数据列数值内容的值(Conditionally updating all values in pandas Dataframe ) 目录
- pandas基于条件判断更新dataframe中特定数据列数值内容的值(Conditionally updating values in specific pandas Dataframe )
pandas基于条件判断更新dataframe中特定数据列数值内容的值(Conditionally updating values in specific pandas Dataframe ) 目录
- R语言union函数计算数据对象(vector、list、dataframe)的并集:union函数计算两个vector向量、dataframe、列表list的并集
R语言union函数计算数据对象(vector.list.dataframe)的并集:union函数计算两个vector向量.dataframe.列表list的并集 目录
- pyspark dataframe数据连接(join)、转化为pandas dataframe、基于多个字段删除冗余数据
pyspark dataframe数据连接(join).转化为pandas dataframe.基于多个字段删除冗余数据 目录 pyspark dataframe数据连接(join).转化为panda ...
- plotly可视化表格数据:以表格可视化pandas dataframe
plotly可视化表格数据:以表格可视化pandas dataframe # plotly可视化dataframe中的表格数据: import plotly as py from plotly.too ...
- python将pandas dataframe内容写入ElasticSearch实战
python将pandas dataframe内容写入ElasticSearch实战 目录 python将pandas dataframe内容写入ElasticSearch实战 索引设置 数据写入 数 ...
最新文章
- Error: Cannot find module ‘express‘
- Win10 15063 开始运行不保存历史记录原因和解决方法
- 各类木材强度_层状磷酸锆/ 聚磷酸铵复合阻燃剂对木材的阻燃抑烟性能研究
- BC26通过MQTT协议连接ONENET,AT流程
- MySQL和java连连看_用 JAVA 开发游戏连连看(之一)动手前的准备
- js 获取样式兼容方法
- mini2440 貌似复杂的mmu
- 47. 全排列 II
- Linux中文档与目录的特殊权限
- Codebook model 视频抠像 xp sp3 + vs2005 + OpenCV 2.3.1
- java 视频截图_获取视频截图
- mysql乐观锁 超卖_秒杀系统之超卖现象
- 【20191025】考试
- ME3616-OPENCPU完整调试笔记
- 数据仓库应用篇(一)需求文档模板和需求评审
- 如何使用matlab
- 一个Callable接口能有多少知识点?在裁员的大背景下,我仍然吊打了大厂面试官
- linux基础指令下
- TestNG监听器实现失败自动截图、重跑、自定义html结果文件功能
- RFID仓库管理解决方案-RFID智能仓储-RFID智能仓储-新导智能