浅谈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使用lxml模块和Requests模块抓取HTML页面的教程
May 16 Python
python 基础教程之Map使用方法
Jan 17 Python
python 把文件中的每一行以数组的元素放入数组中的方法
Apr 29 Python
django小技巧之html模板中调用对象属性或对象的方法
Nov 30 Python
python 切换root 执行命令的方法
Jan 19 Python
Python中extend和append的区别讲解
Jan 24 Python
PIL对上传到Django的图片进行处理并保存的实例
Aug 07 Python
Django中提示消息messages的设置方式
Nov 15 Python
解决pytorch DataLoader num_workers出现的问题
Jan 14 Python
django 模型中的计算字段实例
May 19 Python
如何在sublime编辑器中安装python
May 20 Python
virtualenv介绍及简明教程
Jun 23 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
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
PHP开发过程中常用函数收藏
2009/12/14 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
2013/06/03 PHP
php使用递归计算文件夹大小
2014/12/24 PHP
php中header设置常见文件类型的content-type
2015/06/23 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
2015/12/22 PHP
PHP的PDO预处理语句与存储过程
2019/01/27 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
使用JavaScript判断图片是否加载完成的三种实现方式
2014/05/04 Javascript
ExtJS中设置下拉列表框不可编辑的方法
2014/05/07 Javascript
JQuery 使用attr方法实现下拉列表选中
2014/10/13 Javascript
JavaScript 学习笔记之数据类型
2015/01/14 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
jQuery中Nicescroll滚动条插件的用法
2016/11/10 Javascript
js监听input输入框值的实时变化实例
2017/01/26 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
小程序云开发实战小结
2018/10/25 Javascript
微信小程序动画(Animation)的实现及执行步骤
2018/10/28 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
Postman环境变量全局变量使用方法详解
2020/08/13 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
浅谈js数组splice删除某个元素爬坑
2020/10/14 Javascript
python定时执行指定函数的方法
2015/05/27 Python
python  Django中的apps.py的目的是什么
2018/10/15 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
Python多项式回归的实现方法
2019/03/11 Python
Python APScheduler执行使用方法详解
2020/12/10 Python
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物