浅谈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编程中进行迭代和遍历
Jan 19 Python
Python整数对象实现原理详解
Jul 01 Python
pybind11和numpy进行交互的方法
Jul 04 Python
Python脚本利用adb进行手机控制的方法
Jul 08 Python
python为QT程序添加图标的方法详解
Mar 09 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
Mar 23 Python
Python + selenium + crontab实现每日定时自动打卡功能
Mar 31 Python
Python模块常用四种安装方式
Oct 20 Python
详解python polyscope库的安装和例程
Nov 13 Python
python eventlet绿化和patch原理
Nov 21 Python
pandas使用函数批量处理数据(map、apply、applymap)
Nov 27 Python
python xlsxwriter模块的使用
Dec 24 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批量生成随机用户名
2008/07/10 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
页面中body onload 和 window.onload 冲突的问题的解决
2009/07/01 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
jquery设置表单元素为不可用的简单代码
2016/07/04 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
node.js 中间件express-session使用详解
2017/05/20 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
JS沙箱模式实例分析
2017/09/04 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
微信小程序云函数使用mysql数据库过程详解
2019/08/07 Javascript
常见的python正则用法实例讲解
2016/06/21 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
解决Python pandas df 写入excel 出现的问题
2018/07/04 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
python 动态调用函数实例解析
2019/10/21 Python
python用requests实现http请求代码实例
2019/10/31 Python
tensorflow实现测试时读取任意指定的check point的网络参数
2020/01/21 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
Python类型转换的魔术方法详解
2020/12/23 Python
证婚人搞笑证婚词
2014/01/10 职场文书
公司承诺书格式
2014/05/21 职场文书
生物工程专业求职信
2014/09/03 职场文书
二年级作文之动物作文
2019/11/13 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python