我的编程空间,编程开发者的网络收藏夹
学习永远不晚

pandas 实现 in 和 not in 的用法及使用心得

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

pandas 实现 in 和 not in 的用法及使用心得

pandas in 和 not in 的用法

经常在处理数据中从一个总数据中清洗出数据, 但是有时候需要把没有处理的数据也统计出来.

这时候就需要使用:

pandas.DataFrame.isin

DataFrame中的每个元素是否都包含在值中

pandas文档位置

例子:

如何实现SQL的等价物IN和NOT IN?
我有一个包含所需值的列表。下面是一个场景:
df = pd.DataFrame({'countries':['US','UK','Germany','China']})
countries = ['UK','China']
 
# pseudo-code:
df[df['countries'] not in countries]

之前的做法是这样:

df = pd.DataFrame({'countries':['US','UK','Germany','China']})
countries = pd.DataFrame({'countries':['UK','China'], 'matched':True})
 
# IN
df.merge(countries,how='inner',on='countries')
 
# NOT IN
not_in = df.merge(countries,how='left',on='countries')
not_in = not_in[pd.isnull(not_in['matched'])]

但上面这样做觉得很不好, 也翻了文档才找到比较好解决方式.

# IN
something.isin(somewhere)
 
# NOT IN
~something.isin(somewhere)

例子:

>>> df
  countries
0        US
1        UK
2   Germany
3     China
>>> countries
['UK', 'China']
>>> df.countries.isin(countries)
0    False
1     True
2    False
3     True
Name: countries, dtype: bool
>>> df[df.countries.isin(countries)]
  countries
1        UK
3     China
>>> df[~df.countries.isin(countries)]
  countries
0        US
2   Germany

ps:pandas实现in和 not in

pandas中经常会需要对某列做一些筛选,比如筛选某列里的不包含某些值的行,类似sql里的in和not in功能,那么怎么实现呢。

import pandas as pd
columns = ['name','country']
index = [1,2,3,4]
row1 = ['a','China']
row2 = ['b','UK']
row3 = ['c','USA']
row4 = ['d','HK']

df = pd.DataFrame([row1,row2,row3,row4],
                   index=index,
                   columns=columns)
df

chinese = ['China','HK']

那么想查看数据中是chines的,

df[df.country.isin(chinese)]

查看数据中不是chines的,

到此这篇关于pandas 实现 in 和 not in 的用法及心得的文章就介绍到这了,更多相关pandas in 和 not in 的用法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

pandas 实现 in 和 not in 的用法及使用心得

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

pandas 实现 in 和 not in 的用法及使用心得

pandas按条件筛选数据时,除了使用query()方法,还可以使用isin和对isin取反进行条件筛选,今天通过本文给大家介绍pandas 实现 in 和 not in 的用法及使用心得,感兴趣的朋友跟随小编一起看看吧
2023-01-11

MyBatis中动态sql实现传递多个参数并使用if进行参数的判断和实现like模糊搜索以及foreach实现in集合

场景在mapper接口层方法参数有id的数组和姓名的模糊搜索和类型的三个参数。现在需要将这三个参数传递在动态sql的xml中接受并进行判断不为空。然后查询数据库中记录在第一个参数id数组中的并且姓名是模糊搜索的并且类型是直接相等于的。注:博客: https:/
MyBatis中动态sql实现传递多个参数并使用if进行参数的判断和实现like模糊搜索以及foreach实现in集合
2020-04-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录