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

作者:Ch3n 时间:2021-10-23 12:25:07 

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)]

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

查看数据中不是chines的,

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

来源:https://ch3nnn.blog.csdn.net/article/details/91374033

标签:pandas,in,not,in
0
投稿

猜你喜欢

  • PHP基础之运算符的使用方法

    2023-11-20 17:33:55
  • Django实现文件上传和下载功能

    2022-04-02 15:19:34
  • 如何快速一次性卸载所有python包(第三方库)呢

    2022-08-18 12:12:58
  • JavaScript也谈内存优化

    2024-02-25 16:33:17
  • JS设置cookie、读取cookie、删除cookie

    2023-08-27 19:35:17
  • python sys.argv[]用法实例详解

    2023-10-15 17:21:55
  • python tornado开启多进程的几种方法

    2021-09-18 22:28:17
  • Python 模拟动态产生字母验证码图片功能

    2022-02-10 21:03:35
  • 浅谈Python中数据解析

    2021-07-02 20:47:00
  • Python学习笔记之装饰器

    2021-03-03 02:02:48
  • Python虚拟环境venv用法详解

    2023-10-26 12:37:12
  • Python实现的读取文件内容并写入其他文件操作示例

    2021-10-11 02:27:02
  • ASP:Cookie使用指南

    2007-09-28 12:48:00
  • Python程序运行原理图文解析

    2023-08-09 03:27:31
  • IronPython连接MySQL的方法步骤

    2024-01-27 05:43:05
  • python实现博客文章爬虫示例

    2022-06-30 08:20:40
  • 学以致用驳ASP低能论

    2007-08-22 14:47:00
  • ASP技巧:ASP中三个常用语句的使用技巧

    2008-10-16 10:56:00
  • Django实现图片文字同时提交的方法

    2021-10-19 20:11:28
  • MySQL中通过EXPLAIN如何分析SQL的执行计划详解

    2024-01-20 00:12:43
  • asp之家 网络编程 m.aspxhome.com