浅谈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 相关文章推荐
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
Jun 12 Python
Python实现的计算器功能示例
Apr 26 Python
Django Form 实时从数据库中获取数据的操作方法
Jul 25 Python
python批量图片处理简单示例
Aug 06 Python
Python判断字符串是否xx开始或结尾的示例
Aug 08 Python
详解用Python为直方图绘制拟合曲线的两种方法
Aug 21 Python
解决Numpy中sum函数求和结果维度的问题
Dec 06 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
Apr 14 Python
基于python纯函数实现井字棋游戏
May 27 Python
python使用matplotlib绘制折线图的示例代码
Sep 22 Python
Django集成富文本编辑器summernote的实现步骤
May 31 Python
Python编程中Python与GIL互斥锁关系作用分析
Sep 15 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
mysql建立外键
2006/11/25 PHP
Yii2实现ActiveForm ajax提交
2017/05/26 PHP
Laravel find in set排序实例
2019/10/09 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
jquery下为Event handler传递动态参数的代码
2011/01/06 Javascript
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
javascript特殊日历控件分享
2016/03/07 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
移动端横屏的JS代码(beta)
2016/05/16 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
jQuery树控件zTree使用方法详解(一)
2017/02/28 Javascript
浅谈Vue.js
2017/03/02 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
如何根据业务封装自己的功能组件
2019/04/19 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
解决python中 f.write写入中文出错的问题
2018/10/31 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
python代码打印100-999之间的回文数示例
2019/11/24 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
解决更改AUTH_USER_MODEL后出现的问题
2020/05/14 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
美国最大网上鞋店:Zappos
2016/07/25 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
财务管理职业生涯规划书
2014/02/26 职场文书
情人节寄语大全
2014/04/11 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
升职感谢领导的话语及升职感谢信
2019/06/24 职场文书