pandas 比较两个表数据是否相同(浅谈pandas筛选出表中满足另一个表所有条件的数据方法)
pandas 比较两个表数据是否相同
浅谈pandas筛选出表中满足另一个表所有条件的数据方法今天记录一下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.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
- mysql数据备份的几种方式(MySQL数据库备份过程的注意事项)
- SQL SERVER 数据库主键
- laravel数据查询(laravel按天、按小时,查询数据的实例)
- thinkphp5配置入口路径(ThinkPHP5.1框架数据库链接和增删改查操作示例)
- SQL SERVER数据类型对应C#的数据类型
- mysql插入数据错误代码(教你解决往mysql数据库中存入汉字报错的方法)
- python字符串之基本操作小练习(Python数据类型之String字符串实例详解)
- mysql8.0自定义安装图解(M1芯片安装mysql8.0数据库的实现步骤图文)
- mysql主从同步复制原理(MYSQL数据库GTID实现主从复制实现超级方便)
- phpmysql怎么搭建(PHP使用PDO、mysqli扩展实现与数据库交互操作详解)
- mysql数据库触发器(MySQL中使用游标触发器的方法)
- php连接mysql需要数据源吗(php连接mysql数据库最简单的实现方法)
- sql数据库查询优化(数据库SQL语句优化总结收藏)
- docker镜像重启数据丢失(Docker数据备份恢复实现过程详解)
- python6个基础数据类型(计算机二级python学习教程3 python语言基本数据类型)
- sql备份库怎么恢复(SQL恢复master数据库方法 只有mdf文件的数据库如何恢复)
- 嘉南传 第22集(嘉南传第22集)
- 哪版孙悟空最萌 黄渤躺萌了(哪版孙悟空最萌)
- 融入小人物的喜怒哀乐,黄渤饰演的角色为什么让人观看时欲罢不能(融入小人物的喜怒哀乐)
- 《极限挑战》深访都市夜归人,夜间打工者体验,黄磊录完憔悴了(极限挑战深访都市夜归人)
- Google 推出了一个游戏生成器,让不会编程的你也能自己设计游戏(推出了一个游戏生成器)
- 二胎家庭老大爱闹情绪,用这招很有效(二胎家庭老大爱闹情绪)
热门推荐
- vue三种判断条件(Vue中插槽和过滤器的深入讲解)
- nginx反向代理流程详解(本地通过nginx配置反向代理的全过程记录)
- vue树形表格内容太长(VUE 无限层级树形数据结构显示的实现)
- 如何应对网站安全问题(网站安全有哪些防护措施?)
- mysql优化使用方法(详解Mysql函数调用优化)
- pythonlist列表讲解(Python中将两个或多个list合成一个list的方法小结)
- python用pyqt5制作登录界面(python3+pyqt5+itchat微信定时发送消息的方法)
- html5图片做背景代码(Html5之webcoekt播放JPEG图片流)
- docker暴露端口无法访问(完美解决Windows10下无法对docker容器进行端口访问的操作)
- python模块化打包(python使用Paramiko模块实现远程文件拷贝)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9