浅谈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 logging类库使用例子
Nov 22 Python
python中global用法实例分析
Apr 30 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
Sep 11 Python
python处理按钮消息的实例详解
Jul 11 Python
python根据unicode判断语言类型实例代码
Jan 17 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
Oct 29 Python
python将txt等文件中的数据读为numpy数组的方法
Dec 22 Python
matplotlib.pyplot绘图显示控制方法
Jan 15 Python
python字符串和常用数据结构知识总结
May 21 Python
python添加菜单图文讲解
Jun 04 Python
opencv 获取rtsp流媒体视频的实现方法
Aug 23 Python
python OpenCV学习笔记
Mar 31 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
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
PHP设计模式之观察者模式定义与用法示例
2018/08/04 PHP
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
Extjs入门之动态加载树代码
2010/04/09 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
javascript函数中参数传递问题示例探讨
2014/07/31 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
MUI  Scroll插件的使用详解
2017/04/13 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
详解Vue结合后台的列表增删改案例
2018/08/21 Javascript
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
js实现简单分页导航栏效果
2019/06/28 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
JSONLINT:python的json数据验证库实例解析
2017/11/28 Python
python列表的增删改查实例代码
2018/01/30 Python
Python rstrip()方法实例详解
2018/11/11 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
python3.6中@property装饰器的使用方法示例
2019/08/17 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
Python中qutip用法示例详解
2020/10/02 Python
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
幼儿园新年寄语
2014/04/03 职场文书
气象学专业个人求职信
2014/04/22 职场文书
费用申请报告范文
2015/05/15 职场文书