Pandas isin()函数介绍

简介

isin() 函数是 Pandas 库中的一个非常实用的函数,主要用于筛选数据框(DataFrame)或序列(Series)中包含特定值的数据。这个函数可以接收一个列表、集合或其他可迭代对象作为参数,并返回一个布尔型的序列,其中每个元素表示原始序列中的对应元素是否出现在给定的集合中。

语法

对于 Pandas Series:

series.isin(values)

对于 Pandas DataFrame:

dataframe.isin(values)

其中 values 是一个列表、集合、字典或其他可迭代对象,用于指定要筛选的值。

示例

假设我们有一个包含学生姓名和年龄的 DataFrame:

import pandas as pddata = {'EnglishName': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],'Age': [20, 25, 22, 28, 23]
}df = pd.DataFrame(data)
print(df)
'''outputEnglishName  Age
0       Alice   20
1         Bob   25
2     Charlie   22
3       David   28
4         Eve   23
'''

现在,我们想要筛选出年龄为 22 或 28 的学生:

is_in_filter = df['Age'].isin([22, 28])
print(is_in_filter)
'''output
0    False
1    False
2     True
3     True
4    False
Name: Age, dtype: bool  #  该处的Name: Age,是表明False/True是Age里的比较值,Name是表明该序列名叫Age。
'''print(type(is_in_filter))
'''output
<class 'pandas.core.series.Series'>
'''filtered_df = df[df['Age'].isin([22, 28])]
print(filtered_df)
'''outputEnglishName  Age
2     Charlie   22
3       David   28
'''

同样地,我们也可以对多个列进行筛选。例如,如果我们想要筛选出名字是 'Charlie' 或 'David' 并且年龄为 22 或 28 的学生:

filter2 = (df['EnglishName'].isin(['Charlie', 'David'])) & (df['Age'].isin([22, 28]))
print(filter2)
'''output
0    False
1    False
2     True
3     True
4    False
dtype: bool  # 该处不在拥有name属性,因为是两列比较的集合。
'''filtered_df = df[filter2]
print(filtered_df)
'''output EnglishName  Age
2     Charlie   22
3       David   28
'''

注意事项

  • isin() 函数对大小写敏感。如果要在筛选时忽略大小写,请确保比较的值与原始数据的大小写一致。
  • 当使用 isin() 函数筛选多个列时,需要使用逻辑运算符(如 &|)来组合多个条件。
  • isin() 函数在处理大型数据集时可能效率较低,因为它需要对每个元素进行迭代和比较。在这种情况下,可以考虑使用其他更高效的筛选方法,如使用 Pandas 的索引功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/723409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10 个 Java Stream 顶级技巧,大量简化代码

Java Stream API对于 Java 开发人员来说就像一把瑞士军刀 — 它用途广泛、结构紧凑,并且可以轻松处理各种任务。 它为开发人员提供了一种函数式和声明式的方式来表达复杂的数据转换和操作,使代码更加简洁和富有表现力。 但能力越大,责任越大,有效地使用Stream API需要对最…

MySQL学习笔记(一)数据库事务隔离级别与多版本并发控制(MVCC)

一、数据库事务隔离级别 数据库事务的隔离级别有4种&#xff0c;由低到高分别为Read uncommitted &#xff08;读未提交&#xff09;、Read committed&#xff08;读提交&#xff09; 、Repeatable read&#xff08;可重复读&#xff09; 、Serializable &#xff08;串行化&a…

spingboot控制器中@Autowired的变量为空问题的解决

在控制器中新创建了一个函数&#xff0c;前台可以调用&#xff0c;然后获取记录信息返回。 但是前台调用时&#xff0c;可以进入该函数&#xff0c;但是该函数调用自动注入的变量时&#xff0c;发现该变量为空。但是其他函数都可以正常使用自动注入的变量&#xff0c;该问题就…

芯片后端的APR是指什么?

APR&#xff0c;代表自动布局与布线&#xff08;Auto Placement & Route&#xff09;&#xff0c;已经成为芯片后端设计的重要部分。在当今EDA&#xff08;电子设计自动化&#xff09;工具高度发展的背景下&#xff0c;手动摆放单元格并绘制连线已经变得不切实际。因此&…

如何在异步结果返回时进行跟踪

当我在使用多进程池时&#xff0c;可以通过apply_async()方法提交任务&#xff0c;并使用get()方法获取异步任务的结果。但是&#xff0c;在等待结果返回时&#xff0c;我们最希望能够跟踪任务的进度&#xff0c;以及处理已完成任务的结果。 然后针对这种问题我们最常见的方法…

如何在Spring Boot框架中打印响应的日志?

在 Spring Boot 框架中&#xff0c;可以使用拦截器来打印响应的日志。 通过自定义一个拦截器&#xff0c;可以在响应返回给客户端之前捕获响应信息&#xff0c;并将其记录到日志中。 以下是在 Spring Boot 框架中打印响应日志的步骤&#xff1a; 创建一个拦截器类&#xff0c…

国际数字影像产业园会议中心助力打造舒适高端的会议目的地

国际数字影像产业园会议中心&#xff0c;作为集先进技术与卓越设计于一体的现代化会议场所&#xff0c;正日益成为国内外高端会议活动的首选之地。其独特的建筑风格和内部设施&#xff0c;为与会者提供了舒适而高效的环境&#xff0c;让每一次大中小型会议都能达到预期的效果。…

如何关闭远程桌面连接

远程桌面连接是一种方便的技术&#xff0c;可以让用户通过网络远程访问其他计算机的桌面界面。有时候我们可能需要关闭这个连接。本文将向你介绍如何关闭远程桌面连接。 关闭远程桌面连接的步骤 要关闭远程桌面连接&#xff0c;按照以下步骤操作&#xff1a; 打开远程桌面连接…

最简单 导航栏 html css

dhl.html <!DOCTYPE html> <html><head><meta charset"utf-8"><title>导航栏</title><link type"text/css" rel"stylesheet" href"css/dhl.css"></head><div class"dhl&quo…

TheGraph 教程

官方文档&#xff1a; https://thegraph.com/docs/zh/quick-start/ 简介 The Graph 可以干什么&#xff0c;记录区块链上数据&#xff0c;以前都要有个后端服务和数据库&#xff0c;维护和开发成本大&#xff0c;使用The Graph&#xff0c;方便快捷节省成本 部署 核心&…

数据分析案例-二手车用户数据可视化分析(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

【深度学习笔记】计算机视觉——风格迁移

风格迁移 摄影爱好者也许接触过滤波器。它能改变照片的颜色风格&#xff0c;从而使风景照更加锐利或者令人像更加美白。但一个滤波器通常只能改变照片的某个方面。如果要照片达到理想中的风格&#xff0c;可能需要尝试大量不同的组合。这个过程的复杂程度不亚于模型调参。 本…

leetcode 11.盛最多水的容器

题目链接&#xff1a;https://leetcode.cn/problems/container-with-most-water/ 题目描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以…

【unity实战】事件(Event)的基本实战使用

文章目录 最终效果前言一、素材二、角色金币交互1. 拾取金币2. 显示金币数UI 完结 最终效果 前言 之前我们介绍过委托的用法&#xff0c;具体可以跳转&#xff1a;【unity小技巧】委托&#xff08;Delegate&#xff09;的基础使用和介绍 这期来讲讲事件&#xff0c;使用你会发…

【SpringBoot3.x教程02】SpringBoot配置文件详解

前言&#xff1a;什么是配置文件 SpringBoot的配置文件是指用于定义和管理SpringBoot应用程序配置的文件。这些配置文件允许开发者调整和控制应用程序的行为&#xff0c;而无需改变代码。主要有两种格式的配置文件&#xff1a; 1、application.properties&#xff1a;这是一种使…

主流开发环境和开发语言介绍

主流开发环境和开发语言介绍 一、主流开发环境介绍 主流开发环境是指广泛应用于软件开发的集成开发环境&#xff08;Integrated Development Environment&#xff0c;简称IDE&#xff09;。IDE是一种集成了编辑器、编译器、调试器等工具的软件&#xff0c;提供了一站式的开发环…

华金证券2024:以“芯”助先进算法,以“算”驱万物智能

本文选自“以芯助先进算法&#xff0c;以算驱万物智能”。 一、半导体景气度有望迎来复苏 从半导体行业景气度来看&#xff0c;在经历了2022、2023年的去库存周期 后&#xff0c;半导体销售额有望在2024年迎来复苏。据WSTS数据显示&#xff0c;全球半导体产品销售总额从1999 年…

OJ_一端进,两端出

题干 C实现 #include <stdio.h> #include <list> #include <vector>using namespace std;int main() {int n, k;scanf("%d%d", &n, &k);vector<int> insertVec(n);for (int i 0; i < n; i) {scanf("%d", &insert…

四、西瓜书——支持向量机

第六章 支持向量机 1.间隔与支持向量 支持向量机的原理是寻找与支持向量具有最大间隔的划分超平面。支持向量机具有一个重要性质: 训练完成后,大部分的训练样本都不需保留,最终模型仅与支持向量有关. 首先&#xff0c;超平面的方程为&#xff1a; 点到超平面的距离为&#xff…

单表练习12.0

一个学生表 分别记录姓名&#xff0c;年龄&#xff0c;性别&#xff0c;班级&#xff0c;语文&#xff0c;数学&#xff0c;英语字段 create table student2( id int primary key , name char(20), sex char(10), age int(3), mobile char(20), class char(10), engli…