【452】pandas筛选出表中满足另一个表所有条件的数据
使用 pd.merge 来实现
on 表示查询的 columns,如果都有 id,那么这是很好的区别项,找到 id 相同的进行merge。
>>> import numpy as np >>> import pandas as pd >>> data1 = {
'one': pd.Series([1,2,3]),
'two': pd.Series([11,22,33])
} >>> df1 = pd.DataFrame(data = data1) >>> df1 one two
0 1 11
1 2 22
2 3 33
>>> data2 = {
'one': pd.Series([1,2,3,4,5,6]),
'two': pd.Series([11,22,33]),
'three': pd.Series([111,222,333]),
'four': pd.Series([1111,2222,3333,4444,5555,6666])
} >>> df2 = pd.DataFrame(data = data2) >>> df2 one two three four
0 1 11.0 111.0 1111
1 2 22.0 222.0 2222
2 3 33.0 333.0 3333
3 4 NaN NaN 4444
4 5 NaN NaN 5555
5 6 NaN NaN 6666
>>> df2[df2['one']<3] one two three four
0 1 11.0 111.0 1111
1 2 22.0 222.0 2222 >>> df = pd.merge(df1, df2, how='inner') >>> df one two three four
0 1 11 111.0 1111
1 2 22 222.0 2222
2 3 33 333.0 3333
>>> df1 one two
0 1 11
1 2 22
2 3 33
>>> df2 one two three four
0 1 11.0 111.0 1111
1 2 22.0 222.0 2222
2 3 33.0 333.0 3333
3 4 NaN NaN 4444
4 5 NaN NaN 5555
5 6 NaN NaN 6666
>>> pd.merge(df1, df2, how='inner') one two three four
0 1 11 111.0 1111
1 2 22 222.0 2222
2 3 33 333.0 3333
>>> pd.merge(df2, df1, how='inner') one two three four
0 1 11.0 111.0 1111
1 2 22.0 222.0 2222
2 3 33.0 333.0 3333
>>> five = pd.Series([1,2,3,4,5,6]) >>> df2['five'] = five >>> df2 one two three four five
0 1 11.0 111.0 1111 1
1 2 22.0 222.0 2222 2
2 3 33.0 333.0 3333 3
3 4 NaN NaN 4444 4
4 5 NaN NaN 5555 5
5 6 NaN NaN 6666 6
>>> df1 one two
0 1 11
1 2 22
2 3 33
>>> pd.merge(df2, df1, how='inner') one two three four five
0 1 11.0 111.0 1111 1
1 2 22.0 222.0 2222 2
2 3 33.0 333.0 3333 3
>>> pd.merge(df1, df2, how='inner') one two three four five
0 1 11 111.0 1111 1
1 2 22 222.0 2222 2
2 3 33 333.0 3333 3
>>> df1 one two
0 1 11
1 2 22
2 3 33
>>> df2 one two three four five
0 1 11.0 111.0 1111 1
1 2 22.0 222.0 2222 2
2 3 33.0 333.0 3333 3
3 4 NaN NaN 4444 4
4 5 NaN NaN 5555 5
5 6 NaN NaN 6666 6
>>> six = pd.Series([-1, -2, -3]) >>> df1['six'] = six >>> df1 one two six
0 1 11 -1
1 2 22 -2
2 3 33 -3
>>> df2 one two three four five
0 1 11.0 111.0 1111 1
1 2 22.0 222.0 2222 2
2 3 33.0 333.0 3333 3
3 4 NaN NaN 4444 4
4 5 NaN NaN 5555 5
5 6 NaN NaN 6666 6
>>> pd.merge(df1, df2, how='inner') one two six three four five
0 1 11 -1 111.0 1111 1
1 2 22 -2 222.0 2222 2
2 3 33 -3 333.0 3333 3
>>> pd.merge(df2, df1, how='inner') one two three four five six
0 1 11.0 111.0 1111 1 -1
1 2 22.0 222.0 2222 2 -2
2 3 33.0 333.0 3333 3 -3
【452】pandas筛选出表中满足另一个表所有条件的数据的更多相关文章
- 从一个表中往另外一个表中插入数据用到的SQL
insert into jdjc_zzjcxm (zj,jcxmmc) select sys_guid(),zbmc from JDJC_WHJXXMMC;
- Python中用max()筛选出列表中出现次数最多的元素
1 List = [1,2,3,4,2,3,2] # 随意创建一个只有数字的列表 2 maxTimes = max(List,key=List.count) # maxTimes指列表中出现次数最多的 ...
- Linux 在 i 节点表中的磁盘地址表中,若一个文件的长度是从磁盘地址表的第 1 块到第 11 块 解析?
面试题: 在 i 节点表中的磁盘地址表中,若一个文件的长度是从磁盘地址表的第 1 块到第 11块,则该文件共占有 B 块号.A 256 B 266 C 11 D 256×10 linux文件系统是L ...
- Oracle中的自连接(self join)-当表中的某一个字段与这个表中另外字段的相关时,我们可能用到自连接。
http://blog.163.com/wkyuyang_001/blog/static/10802122820091751049479/ 当表中的某一个字段与这个表中另外字段的相关时,我们可能用到自 ...
- SQL存在一个表而不在另一个表中的数据, 更新字段为随机时间
--更新字段为随机时间 86400秒=1天 UPDATE dl_robot ), ,GETDATE()) ) SQL存在一个表而不在另一个表中的数据 方法一 使用 not in ,容易理解,效 ...
- Oracle中如何查询一个表的所有字段名和数据类型
Oracle中如何查询一个表的所有字段名和数据类型 查询语法 select A.COLUMN_NAME,A.DATA_TYPE from user_tab_columns A where TABLE_ ...
- Oracle中 如何用一个表的数据更新另一个表中的数据
准备阶段 1.建表语句: create table table1( idd varchar2(10) , val varchar2(20) ); create table table2( idd va ...
- Java连接MySQL数据库。编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计。
题目2:编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计.之后,可根据显示的内容进行某条记录的删除(以id为条 ...
- Oracle 中用一个表的数据更新另一个表的数据
Oracle 中用一个表的数据更新另一个表的数据 分类: SQL/PLSQL2012-05-04 15:49 4153人阅读 评论(1) 收藏 举报 oraclemergesubqueryinsert ...
随机推荐
- git使用过程中的若干问题笔记
1.关于本地分支创建之后,如何在远程创建同名分支并完成本地分支到远程分支的push 首先创建本地库分支以dev为例 然后输入命令git push --set-upstream origin dev / ...
- c# 调用 C++ dll 传入传出类型对应说明(转)
由于经常使用C#调用 非托管C++ dll 操作一下硬件,出现传入传出类型的问题,现整理了C++ dll 类型与 C#类型对应关系: //C++中的DLL函数原型为 //extern & ...
- js--动画
运动框架实现思想1.速度(改变值left,right,width,height,opacity)2.缓冲运动3.多物体运动4.任意值变化5.链式运动6.同时运动 我们先来介绍第一章改变left值来使物 ...
- ORM概述(对象关系映射)
ORM概述: ORM(Object-Relational Mapping)表示对象关系映射.在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中.只要有一套程序能够做到加你对象与数据库 ...
- 201671030106 何启芝 实验十四 团队项目评审&课程学习总结
项目 内容 这个作业属于哪个课程 >>2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 >>实验十四 团队项目评审&课程学习总结 课程学习目 ...
- Spring Boot 集成 Kafka
相关文章 网址 Spring Boot系列文章(一):SpringBoot Kafka 整合使用 http://www.54tianzhisheng.cn/2018/01/05/SpringBoot- ...
- 推荐系统(recommender systems):预测电影评分--问题描述
推荐系统很重要的原因:1>它是机器学习的一个重要应用2>对于机器学习来说,特征是非常重要的,对于一些问题,存在一些算法能自动帮我选择一些优良的features,推荐系统就可以帮助我们做这样 ...
- 最后一个对象属性后边不要加豆号的bug,血淋淋的教训啊,模块化开发IE7下的严重错误,养成好习惯
最近总是写滚动图效果,重复的劳动后,决定写一个滚动图的封装插件.结果写完后在其他浏览器都可以用,却IE7下毫无反应.反复测试各种检查后,发现竟然是在参数对象最后一个属性后多加了个逗号,结果就死在了IE ...
- IDEA+Maven+Mybatis 巨坑:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.rao.mapper.UserMapper.findAll
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.rao.mapper.User ...
- VS 2015秘钥
专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2企业版:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV