浅谈pandas筛选出表中满足另一个表所有条件的数据方法


Posted in Python onFebruary 08, 2019

今天记录一下pandas筛选出一个表中满足另一个表中所有条件的数据。例如:

list1 结构:名字,ID,颜色,数量,类型。

list1 = [['a',1,255,100,'03'],['a',2,481,50,'06'],['a',47,255,500,'03'],['b',3,1,50,'11']]

list2结构:名字,类型,颜色。

list2 = [['a','03',255],['a','06',481]]

如何在list1中找出所有与list2中匹配的元素?要得到下面的结果:list = [['a',1,255,100,'03'],['a',2,481,50,'06'],['a',47,255,500,'03']]。

首先将两个list转化为dataframe.

list1 = [['a',1,255,100,'03'],['a',2,481,50,'06'],['a',47,255,500,'03'],['b',3,1,50,'11']]
df1=pd.DataFrame(list1,columns=["名字","ID","颜色","数量","类型"])
list2 = [['a','03',255],['a','06',481]]
df2=pd.DataFrame(list2,columns=["名字","类型","颜色"])

数据结构如下:

浅谈pandas筛选出表中满足另一个表所有条件的数据方法

然后利用pandas.merge函数将其进行内连接。

这个函数的语法是:

pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None)。这函数连接方式和sql的连接类似,由参数how来控制。

最后的代码如下:

import pandas as pd
list1 = [['a',1,255,100,'03'],['a',2,481,50,'06'],['a',47,255,500,'03'],['b',3,1,50,'11']]
df1=pd.DataFrame(list1,columns=["名字","ID","颜色","数量","类型"])
list2 = [['a','03',255],['a','06',481]]
df2=pd.DataFrame(list2,columns=["名字","类型","颜色"])
df=pd.merge(df1,df2,how='inner',on=["名字","类型","颜色"],right_index=True)
df.sort_index(inplace=True)
print(df)

返回结果按照左表的顺序输出:

浅谈pandas筛选出表中满足另一个表所有条件的数据方法

以上这篇浅谈pandas筛选出表中满足另一个表所有条件的数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现一次创建多级目录的方法
May 15 Python
八大排序算法的Python实现
Jan 28 Python
python Django批量导入不重复数据
Mar 25 Python
Python中顺序表的实现简单代码分享
Jan 09 Python
python3 对list中每个元素进行处理的方法
Jun 29 Python
python3基于OpenCV实现证件照背景替换
Jul 18 Python
Python+OpenCV实现图像融合的原理及代码
Dec 03 Python
python模块常用用法实例详解
Oct 17 Python
python编程进阶之类和对象用法实例分析
Feb 21 Python
Python with语句用法原理详解
Jul 03 Python
python开发入门——列表生成式
Sep 03 Python
详解tensorflow之过拟合问题实战
Nov 01 Python
pandas dataframe添加表格框线输出的方法
Feb 08 #Python
python读取有密码的zip压缩文件实例
Feb 08 #Python
对python判断是否回文数的实例详解
Feb 08 #Python
用Python解决x的n次方问题
Feb 08 #Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
Feb 07 #Python
Python实现E-Mail收集插件实例教程
Feb 06 #Python
使用TensorFlow实现二分类的方法示例
Feb 05 #Python
You might like
php实现12306余票查询、价格查询示例
2014/04/17 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
PHP基于SPL实现的迭代器模式示例
2018/04/22 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
jquery实现动态操作select选中
2015/02/11 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
深入理解JavaScript中Ajax
2016/08/02 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
js实现鼠标移动到图片产生遮罩效果
2017/10/21 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
2019/05/31 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
python异步任务队列示例
2014/04/01 Python
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
python实现redis三种cas事务操作
2017/12/19 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
Pytorch释放显存占用方式
2020/01/13 Python
css3制作动态进度条以及附加jQuery百分比数字显示
2012/12/13 HTML / CSS
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
瑞士男士时尚网上商店:Babista
2020/05/14 全球购物
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
大学生毕业求职的自我评价
2013/09/29 职场文书
大学生入党自传2015
2015/06/26 职场文书
茶花女读书笔记
2015/06/29 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
公司考勤管理制度
2015/08/04 职场文书
初中体育教学随笔
2015/08/15 职场文书
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python
MySQL的存储函数与存储过程的区别解析
2022/04/08 MySQL