原文链接:http://www.datastudy.cc/to/68

今天有个同学问到,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)

pandas中的isin函数详解相关推荐

  1. [每日一答] [20151015] pandas中的isin函数详解

    今天有个同学问到一个逻辑,就是not in的逻辑,想用SQL的select c_xxx_s from t1 left join t2 on t1.key=t2.key where t2.key is ...

  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. C++ 二维数组示例 - 控制台和MFC版
  2. 使用sql语句创建和删除约束示例代码
  3. 开拓新格局 共赢新 Power 2021浪潮商用机器新布局
  4. POJ 1163 The Triangle
  5. 《python基础教程》笔记之 列表
  6. php注册变量函数,PHP变量函数
  7. python采用函数式编程模式-浅谈Python 函数式编程
  8. 640x360,H264 SPS头如何表示高度?
  9. jsp开发项目中的问题解决
  10. 程序员的基本功是什么?
  11. Xmind如何添加水印
  12. 多线程的实现和使用场景
  13. java上传文件怎么设置成777权限_如何修改文件夹777权限
  14. 中文搜索引擎2010Q2市场份额
  15. 利用Gitee搭建免费图床(详细教程)
  16. Fuzz方法在SPDK iSCSI的应用实例
  17. 数字MIC(es7202 PDM协议)MIC录音声音较小
  18. shell trim函数
  19. 阿呆的第一篇CSDN博客
  20. weblogic1213打补丁报错,对 ORACLE_HOME/.patch_storage 没有读权限或写权限

热门文章

  1. [阿里云]Redis的6379端口开通访问所踩到的坑
  2. 国产特斯拉32万8,造车新势力不怕他?
  3. vue背景图显示不全
  4. win7定位位置服务器,win7 定位 服务器地址
  5. 收藏一些最全的最权威的域名后缀列表留以备用
  6. WidsMob Panorama教程:如何制作全景照片
  7. MySQL数据库虚表_【MYSQL】创建虚表来辅助数据库查询
  8. <RVV设计的艺术> 加法相关指令讲解与硬件实现
  9. 决策树后剪枝算法(一)代价复杂度剪枝CPP
  10. 微信小程序显示当前系统年月日时分秒