浅谈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重试装饰器示例
Feb 11 Python
python基于pyDes库实现des加密的方法
Apr 29 Python
Python实现简易版的Web服务器(推荐)
Jan 29 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
Python封装成可带参数的EXE安装包实例
Aug 24 Python
python实现静态服务器
Sep 05 Python
django中的图片验证码功能
Sep 18 Python
python 链接sqlserver 写接口实例
Mar 11 Python
Python自动化测试中yaml文件读取操作
Aug 20 Python
如何用Python编写一个电子考勤系统
Feb 08 Python
Python实现生活常识解答机器人
Jun 28 Python
Pytest中skip和skipif的具体使用方法
Jun 30 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冒泡排序算法代码详细解读
2011/07/17 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
php打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
yum命令安装php7和相关扩展
2016/07/04 PHP
纯js网页画板(Graphics)类简介及实现代码
2012/12/24 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
jQuery中 DOM节点操作方法大全
2017/10/12 jQuery
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
关于vue路由缓存清除在main.js中的设置
2019/11/06 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
python Django批量导入数据
2016/03/25 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
Python+OpenCV目标跟踪实现基本的运动检测
2018/07/10 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
python中的数据结构比较
2019/05/13 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
2019/12/31 Python
CentOS7下安装python3.6.8的教程详解
2020/01/03 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
澳洲健康食品网上商店:Aussie Health Products
2018/06/15 全球购物
幼儿园教师个人反思
2014/01/30 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
个人思想政治总结
2015/03/05 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python
PHP获取学生成绩的方法
2021/11/17 PHP
详解JS数组方法
2021/11/20 Javascript
Windows Server 2008配置防火墙策略详解
2022/06/28 Servers