浅谈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实现zencart产品数据导入到magento(python导入数据)
Apr 03 Python
Python批量修改文本文件内容的方法
Apr 29 Python
Python 获取当前所在目录的方法详解
Aug 02 Python
Python 文件操作的详解及实例
Sep 18 Python
python实现微信接口(itchat)详细介绍
Oct 23 Python
Python爬虫番外篇之Cookie和Session详解
Dec 27 Python
Python设计模式之门面模式简单示例
Jan 09 Python
Anaconda入门使用总结
Apr 05 Python
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
Oct 25 Python
tensorflow之自定义神经网络层实例
Feb 07 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
Feb 13 Python
python常量折叠基础知识点讲解
Feb 28 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
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
用php解析html的实现代码
2011/08/08 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
javascript引导程序
2008/10/26 Javascript
IE JS无提示关闭窗口不提示的方法
2010/04/29 Javascript
javascript学习笔记(五) Array 数组类型介绍
2012/06/19 Javascript
jquery 追加tr和删除tr示例代码
2013/09/12 Javascript
用原生JS获取CLASS对象(很简单实用)
2014/10/15 Javascript
javascript实现微信分享
2014/12/23 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
2018/12/20 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
浅谈vuex中store的命名空间
2019/11/08 Javascript
Vue+tracking.js 实现前端人脸检测功能
2020/04/16 Javascript
[57:37]EG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python使用稀疏矩阵节省内存实例
2014/06/27 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
python系列 文件操作的代码
2019/10/06 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
如何更改 pandas dataframe 中两列的位置
2019/12/27 Python
对Tensorflow中Device实例的生成和管理详解
2020/02/04 Python
社区网格化管理实施方案
2014/03/21 职场文书
情人节活动总结范文
2015/02/05 职场文书
出国留学单位推荐信
2015/03/26 职场文书
党小组考察意见
2015/06/02 职场文书
个人售房合同协议书
2016/03/21 职场文书
Java基础-封装和继承
2021/07/02 Java/Android
入门学习Go的基本语法
2021/07/07 Golang
python元组打包和解包过程详解
2021/08/02 Python
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers