python中isin函数_pandas中的isin函数详解
今天有个同学问到,not in 的逻辑,想用 SQL 的select c_xxx_s from t1 left join t2 on t1.key=t2.key where t2.key is NULL 在 Python 中的逻辑来实现,实现了 left join 了(直接用join方法),但是不知道怎么实现where key is NULL。
其实,实现not in的逻辑,不用那么复杂,直接用isin函数再取反即可,下面就是isin函数的详解。
import pandas;
df = pandas.DataFrame({
'A': [1, 2, 3],
'B': ['a', 'b', 'f']
})
#如果是一个序列或者数组,
#那么判断该位置的值,是否在整个序列或者数组中
df.isin(
[1, 3, 12, 'a']
)
A B
0 True True
1 False False
2 True False
df = pandas.DataFrame({
'A': [1, 2, 3],
'B': [1, 4, 7]
})
#如果是一个dirt,
#那么就会首先判断对应的index是否存在,
#如果存在,那么就会判断对应的位置,在该列是否存在
df.isin({
'A': [1, 3],
'B': [4, 7, 12]
})
A B
0 True False
1 False True
2 True True
#如果不存在,那么全部为False,例如B列没有,那么全部为False
df.isin({
'A': [1, 3],
'C': [4, 7, 12]
})
A B
0 True False
1 False False
2 True False
df = pandas.DataFrame({
'A': [1, 2, 3],
'B': ['a', 'b', 'f']
})
other = pandas.DataFrame({
'A': [1, 3, 3, 2],
'B': ['e', 'f', 'f', 'e']
})
#如果是一个DataFrame,
#首先就是列名要存在,
#并且需要df中行列位置和B对应的行列位置一一匹配,才返回TRUE
df.isin(other)
A B
0 True False
1 False False
2 True True
other = pandas.DataFrame({
'C': [1, 3, 3, 2],
'D': ['e', 'f', 'f', 'e']
})
#因为AB列皆不在,因此都为False
df.isin(other)
A B
0 False False
1 False False
2 False False
嗯嗯?还没有讲到not in?哦哦,没有isnotin函数,取反的方法就是在函数前面加个 ~ ,好销魂的一飘。
~df.isin(other)
python中isin函数_pandas中的isin函数详解相关推荐
- Python的Django框架中forms表单类的使用方法详解2
用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...
- python数组相减_对Python 中矩阵或者数组相减的法则详解
对Python 中矩阵或者数组相减的法则详解 最近在做编程练习,发现有些结果的值与答案相差较大,通过分析比较得出结论,大概过程如下: 定义了一个计算损失的函数: def error(yhat,labe ...
- python调用包中的方法_python 中不同包 类 方法 之间的调用详解
目录结构如下: 在hello.py中导入ORM.py这个文件的时候,采用 import ORMPackage.ORM 或者 import ORM u = User(id = 123, name='co ...
- 站长在线Python精讲:在Python中使用正则表达式的sub()方法替换字符串详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用正则表达式的sub()方法替换字符串详解>. 在Python中使用正则表达式的sub()方法替换字符串. ...
- python中requests库的用途-python中requests库session对象的妙用详解
在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也 ...
- python random randint_python中random.randint和random.randrange的区别详解
在python中,通过导入random库,就能使用randint 和 randrange 这两个方法来产生随机整数.那这两个方法的区别在于什么地方呢?让我们一起来看看! 区别: randint 产生的 ...
- python os模块安装方法_基于python中pygame模块的Linux下安装过程(详解)
一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...
- Python中第三方库Requests库的高级用法详解
Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...
- python中randint是什么意思_python中random.randint和random.randrange的区别详解
在python中,通过导入random库,就能使用randint 和 randrange 这两个方法来产生随机整数.那这两个方法的区别在于什么地方呢?让我们一起来看看! 区别: randint 产生的 ...
- 站长在线Python精讲:在Python中使用正则表达式的split()方法分割字符串详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用正则表达式的split()方法分割字符串详解>. 使用正则表达式分割字符串 在Python中使用正则表达 ...
最新文章
- C#使用BerkeleyDB操作简介
- 3d卷积神经网络_HSNets:使用卷积神经网络从2D轮廓预测3D人体模型
- 【RL】快速强化学习实战案例
- 神策数据成为 Adjust 在中国首家数据分析合作伙伴
- springboot加入com.fasterxml.jackson.core-jackson-databind依赖后报错Error creating bean with name ‘requestM
- 浅谈 Spring 框架注解的用法分析
- 前端学习(2041)vue之电商管理系统电商系统之只是在发布阶段生效
- asterisk使用MYSQL认证的配置方法
- sql 百分号_SQL思维导图和代码分享
- CTO职场解惑指南系列(一)
- 【软考】(五)网络互联设备
- 如何增加Win2003, Win2008下的文件类型下载
- Android开发 环境搭建(ubuntu)
- 漫谈Web Feed、RSS、原文链接和转贴
- 【偶遇小bug】浏览器无法翻译此网页解决
- 君正T21 SDK编译注意事项
- VMware(威睿)后端开发笔试题总结
- 第六章:纯策略纳什均衡【小结】
- 羊吃人,把人们赶走,
- eCPRI带宽与CPRI带宽需求为什么相差4倍?
热门文章
- 2021-2027全球与中国聊天机器人生成器软件市场现状及未来发展趋势
- HDC开发者盛典 | 破解创业老板高效制果汁奥秘挑战!赢取代金券、按摩枕、收纳袋等礼品~
- android编程strings,Android开发: strings.xml文件中的错误
- Snap是如何用“苹果战略”突破Facebook封锁的?
- vue 监听返回按钮
- 服务器安装snmp协议,snmp协议在windows下的安装与配置
- 【教程】如何让ChatGPT生成图片?最新指令分享
- Web漏洞的挖掘与利用
- 渡我不渡她用计算机怎么弹,抖音渡我不渡她手势舞分解 渡我不渡她手势舞教程...
- display:flex属性 justify-content: space-between和flex-flow:wrap一起使用的问题