今天有个同学问到一个逻辑,就是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)
今天有个同学问到一个逻辑,就是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)

[每日一答] [20151015] pandas中的isin函数详解相关推荐

  1. pandas中的isin函数详解

    原文链接:http://www.datastudy.cc/to/68 今天有个同学问到,not in 的逻辑,想用 SQL 的select c_xxx_s from t1 left join t2 o ...

  2. 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 NUL ...

  3. python getattr_Python中的getattr()函数详解:

    标签:Python中的getattr()函数详解: getattr(object, name[, default]) -> value Get a named attribute from an ...

  4. timm 视觉库中的 create_model 函数详解

    timm 视觉库中的 create_model 函数详解 最近一年 Vision Transformer 及其相关改进的工作层出不穷,在他们开源的代码中,大部分都用到了这样一个库:timm.各位炼丹师 ...

  5. python input函数详解_对Python3中的input函数详解

    下面介绍python3中的input函数及其在python2及pyhton3中的不同. python3中的ininput函数,首先利用help(input)函数查看函数信息: 以上信息说明input函 ...

  6. Python中的bbox_overlaps()函数详解

    Python中的bbox_overlaps()函数详解 想要编写自己的目标检测算法,就需要掌握bounding box(边界框)之间的关系.在这之中,bbox_overlaps()函数是一个非常实用的 ...

  7. java的匿名函数_JAVA语言中的匿名函数详解

    本文主要向大家介绍了JAVA语言中的匿名函数详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.使用匿名内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: ...

  8. 内核中的kmalloc函数详解

    一.kmalloc函数详解 #include <linux/slab.h> void *kmalloc(size_t size, int flags); 给 kmalloc 的第一个参数是 ...

  9. 前端如何设置背景颜色的透明度 css中的 rgba() 函数详解 :background-color: rgba(255,192,203,0.3)

    目录 前言 rgba() 函数 详解 再分享一个小技巧哈哈哈 前言 今天在开发移动端的时候感觉没背景颜色有点丑,再加上自己做的是蛋糕app,觉得暖色应该会很好看,于是就用了这行代码 backgroun ...

最新文章

  1. 突破置换模块计算瓶颈,MSRA开源轻量版HRNet,超越主流轻量化网络!|CVPR2021...
  2. iOS 疑难杂症— — 收到推送显示后自动消失的问题
  3. mysql建帐号数据库出现反斜线_[MySQL FAQ]系列 -- 账号密码包含反斜线时怎么办
  4. 怎样将python的文件转化为windows的可执行程序
  5. JavaScript对象的创建之动态原型方式
  6. [ZJJOI2013]K大数查询 整体二分
  7. 如何使用python导入mat格式的数据并整理
  8. Laravel 5 4 实现前后台登录
  9. 不再单打独斗?中国移动联合多企业组建医疗数据公司
  10. python学习中文第五版_前5个学习Python的网站
  11. 经典面试题(39):以下代码将输出的结果是什么?
  12. opencv双目视觉标定、匹配和测量 (附代码)(转载)
  13. 微信品牌小程序开启公测 认证通过即享专属产品能力
  14. 国产SSD市场机遇与挑战并存
  15. 【计算机本科补全计划】Mysql 学习小计(1)
  16. Java重入函数_重入函数
  17. 18-FreeSwitch-配置G729转码
  18. java spring security详解
  19. aws-sdk for JavaScript 官方api文档
  20. 企业信息化将推动企业组织结构和管理模式的变革

热门文章

  1. flask使用redis
  2. 阿里云访问不了6379端口的解决办法
  3. h5 实现图片上传 案例
  4. 淘宝购物车运费计算方式
  5. springboot +秒嘀 实现短信发送
  6. x[0],x[1],x[:,1],x[2,:] 区别
  7. 1688API接口大全
  8. 《网络¥安全联盟站》——星球周报
  9. 10.3.1 MySQL支持的逻辑运算符
  10. 使用EasyExcel做excel文件解析