浅谈pandas筛选出表中满足另一个表所有条件的数据方法

作者:qq_24499417 时间:2022-08-12 14:29:13 

今天记录一下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筛选出表中满足另一个表所有条件的数据方法

来源:https://blog.csdn.net/qq_24499417/article/details/84129598

标签:pandas,筛选,条件,数据
0
投稿

猜你喜欢

  • Python线程条件变量Condition原理解析

    2022-07-23 02:52:06
  • 使用 XML HTTP Request 对象[翻译]

    2007-11-07 21:11:00
  • 二级下拉菜单代码

    2008-11-01 18:18:00
  • js实现屏蔽默认快捷键调用自定义事件示例

    2023-09-05 09:28:31
  • Python之批量创建文件的实例讲解

    2021-04-10 15:17:08
  • border边框在浏览器中的渲染方式

    2010-03-10 10:52:00
  • Python二进制文件读取并转换为浮点数详解

    2022-12-16 19:10:40
  • Oracle AS关键字 提示错误

    2011-04-18 12:42:00
  • Python实现微信翻译机器人的方法

    2022-11-27 08:35:21
  • python数据分析之公交IC卡刷卡分析

    2022-02-10 02:23:56
  • 如何实现优惠打折?

    2010-06-03 10:27:00
  • 设计规范有谱么?

    2008-06-06 12:28:00
  • 他们是如何不让我的Teleport和Webzip工作的?

    2010-07-14 21:06:00
  • 存储过程优缺点分析

    2012-04-13 11:39:56
  • 通过T_sql语句向其中一次填入一条数据或一次填入多条数据的方式填充数据

    2012-11-30 19:55:34
  • Dreamweaver4探谜系列(1)

    2010-09-05 21:12:00
  • 在oracle 数据库中查看一个sql语句的执行时间和SP2-0027错误

    2009-10-09 13:04:00
  • 学习Python3 Dlib19.7进行人脸面部识别

    2022-03-18 00:01:30
  • 如何用css制作有趣的按钮

    2008-03-17 13:54:00
  • GoLang 逃逸分析的机制详解

    2023-08-06 16:46:43
  • asp之家 网络编程 m.aspxhome.com