【Python】进阶学习:pandas--isin()用法详解

news2024/9/23 21:21:50

【Python】进阶学习:pandas–isin()用法详解

在这里插入图片描述

🌈 个人主页:高斯小哥
🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~
💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)


🌵文章目录🌵

  • 📚 一、pandas库简介
  • 🔍 二、isin()方法基础
    • 📋 示例1:筛选DataFrame中的特定值
    • 📋 示例2:结合多个条件筛选
  • 🎯 三、高级用法与技巧
    • 📋 示例3:筛选DataFrame中多个列的值
    • 📋 示例4:结合set数据结构使用isin()
  • 🎉 四、总结
  • 🤝 五、期待与你共同进步

📚 一、pandas库简介

  pandas是Python中一个非常流行的数据处理库,它提供了大量的数据结构(如Series和DataFrame)以及数据分析工具,使得数据处理变得既简单又高效。在pandas中,isin()是一个非常重要的方法,它允许我们根据一个值列表来筛选数据。

🔍 二、isin()方法基础

  isin()方法用于过滤数据框(DataFrame)或序列(Series)中的值,仅保留在给定列表中出现的值。

📋 示例1:筛选DataFrame中的特定值

假设我们有一个DataFrame df,其中包含学生的信息:

import pandas as pd

# 创建一个示例DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
    'Subject': ['Math', 'Science', 'Math', 'History', 'Science'],
    'Score': [90, 85, 92, 78, 88]
}
df = pd.DataFrame(data)

# 筛选Subject列为'Math'或'Science'的学生
selected_students = df[df['Subject'].isin(['Math', 'Science'])]
print(selected_students)

输出:

      Name  Subject  Score
0    Alice     Math     90
1      Bob  Science     85
2  Charlie     Math     92
4      Eve  Science     88

📋 示例2:结合多个条件筛选

isin()方法可以与其他条件筛选方法结合使用,以创建更复杂的筛选条件。

import pandas as pd

# 创建一个示例DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
    'Subject': ['Math', 'Science', 'Math', 'History', 'Science'],
    'Score': [90, 85, 92, 78, 88]
}
df = pd.DataFrame(data)

# 筛选Score大于85且Subject为'Math'或'Science'的学生
combined_filter = df[(df['Score'] > 85) & df['Subject'].isin(['Math', 'Science'])]
print(combined_filter)

输出:

      Name  Subject  Score
0    Alice     Math     90
2  Charlie     Math     92
4      Eve  Science     88

🎯 三、高级用法与技巧

  isin()方法不仅限于简单的值匹配,还可以与其他pandas功能结合使用,以实现更高级的数据筛选。

📋 示例3:筛选DataFrame中多个列的值

我们可以同时检查多个列中的值是否存在于给定的列表中。

import pandas as pd

# 创建一个示例DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
    'Subject': ['Math', 'Science', 'Math', 'History', 'Science'],
    'Score': [90, 85, 92, 78, 88]
}
df = pd.DataFrame(data)

# 筛选Name为'Alice'或'Charlie',且Subject为'Math'或'Science'的学生
multi_column_filter = df[(df['Name'].isin(['Alice', 'Charlie']) & df['Subject'].isin(['Math', 'Science']))]
print(multi_column_filter)

输出:

      Name Subject  Score
0    Alice    Math     90
2  Charlie    Math     92

📋 示例4:结合set数据结构使用isin()

使用set数据结构可以更有效地执行isin()操作,尤其是当比较值列表非常大时。

import pandas as pd

# 创建一个示例DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
    'Subject': ['Math', 'Science', 'Math', 'History', 'Science'],
    'Score': [90, 85, 92, 78, 88]
}
df = pd.DataFrame(data)

# 将要匹配的值转换为set以提高效率
subjects_set = {'Math', 'Science'}

# 筛选Subject列为'Math'或'Science'的学生
set_filter = df[df['Subject'].isin(subjects_set)]
print(set_filter)

输出:

      Name  Subject  Score
0    Alice     Math     90
1      Bob  Science     85
2  Charlie     Math     92
4      Eve  Science     88

🎉 四、总结

  isin()是pandas中一个非常实用的方法,它允许我们根据给定的值列表来筛选数据。通过结合不同的条件和技巧,我们可以实现复杂的数据筛选任务。在使用isin()方法时,保持代码清晰、高效和易于维护非常重要。通过遵循最佳实践,我们可以确保筛选操作能够快速、准确地返回所需的结果。

🤝 五、期待与你共同进步

  在数据处理的旅程中,我们始终在学习和成长。希望这篇博客能够帮助你更好地理解和应用pandas中的isin()方法。如果你有任何疑问或建议,欢迎在评论区留言,我们一起探讨和学习。同时,也期待你分享你的经验和见解,让我们共同进步!

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

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

相关文章

二叉树(Java)

目录 一、概念二、 两种特殊的二叉树三、 二叉树的性质四、二叉树的存储五、二叉树的基本操作1、二叉树的遍历(1)前中后序遍历(2)层序遍历 2、基本操作 六、总结 一、概念 一棵二叉树是结点的一个有限集合,该集合&…

java使用itex生成PDF

Text是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 项目要使用iText,必须引入jar包。才能使用,maven依赖如下&…

在线开源免费问卷调查系统

在线开源免费问卷调查系统 平台简介 本项目旨在提供一个简单易用的问卷调查平台,帮助用户创建、分享问卷,并收集、分析调查数据。我们希望能够为各行各业的调查需求提供一种高效、便捷的解决方案。 项目特点 用户友好:清晰直观的用户界面…

【SpringBoot】测试单元使用多线程

📝个人主页:五敷有你 🔥系列专栏:SpringBoot ⛺️稳重求进,晒太阳 问题产生 今天学习了乐观锁,但在测试单元执行多线程的时候出现了问题,多线程并没有直接结果 在控制台没有任何输出…

★【二叉搜索树(中序遍历特性)】【 ★递归+双指针】Leetcode 98. 验证二叉搜索树

★【二叉搜索树(中序遍历特性)】【 ★递归双指针】Leetcode 98. 验证二叉搜索树 二叉搜索树 98. 验证二叉搜索树解法1 笨 中序递归遍历为一个数组 然后判断数组是不是升序排列就可以★解法2 不使用数组 递归法 ---------------🎈&#x1f38…

电脑中msvcp140_CODECVT_IDS.dll丢失的解决方法分享

msvcp140_CODECVT_IDS.dll是Microsoft Visual C 2015 Redistributable Package的一个组成部分,它是一个动态链接库(DLL)文件,包含了运行基于C编译的应用程序时所需的特定编码转换支持。这个dll文件特别与字符编码转换和本地化支持…

观察者模式 详解 设计模式

观察者模式 观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,使得当一个对象的状态发生变化时,其相关依赖对象都会得到通知并自动更新,如同发布-订阅模式。常见的情况如:公众号更新内容,所有…

灯塔:CSS笔记

CSS&#xff1a;层叠样式表 所谓层叠 即叠加的意思&#xff0c;表示样式可以一层一层的层叠覆盖 css写在style标签中&#xff0c;style标签一般写在head标签里面&#xff0c;title标签下面 <!DOCTYPE html> <html lang"en"> <head><meta cha…

Docker_设置docker服务以及容器开机自启

本文目录 docker服务开机自启动查询docker服务开机自启动状态将docker服务设置为开机自启动取消docker服务开机自启动 容器开机自启动修改docker容器为自启动容器启动时设置自启动-docker版容器启动时设置自启动-docker-compose版 docker服务开机自启动 查询docker服务开机自启…

【airtest】自动化入门教程(三)Poco操作

目录 一、准备工作 1、创建一个pthon脚本 2、光标位置 2、选择Android 3、选择yes 二、定位元素 三、poco基于设备/屏幕 方式 1、poco.click( (x,y))基于屏幕点击相对坐标为x&#xff0c;y的位置 2、poco.get_screen_size() 3、poco.swipe(v1,v2)基于屏幕从v1位置滑到…

腾讯云学生服务器使用教程_申请腾讯云学生机详细流程

2024年腾讯云学生服务器优惠活动「云校园」&#xff0c;学生服务器优惠价格&#xff1a;轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G配置842.4元一年&…

Linux篇: 进程控制

一、进程创建 1.1 fork函数初识 在Linux中&#xff0c;fork函数是非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程。 返回值&#xff1a; 在子进程中返回0&#xff0c;父进程中返回子进程的PID&#xff0c;子进程创…

腾讯云-云+校园扶持-2核2G学生服务器套餐30元起

2024年腾讯云学生服务器优惠活动「云校园」&#xff0c;学生服务器优惠价格&#xff1a;轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G配置842.4元一年&…

【风格迁移】URST:解决超高分辨率图像的风格迁移问题

URST&#xff1a;解决超高分辨率图像的风格迁移问题 提出背景URST框架的整体架构 提出背景 论文&#xff1a;https://arxiv.org/pdf/2103.11784.pdf 代码&#xff1a;https://github.com/czczup/URST?v1 有一张高分辨率的风景照片&#xff0c;分辨率为1000010000像素&#…

【分类讨论】【割点】1568. 使陆地分离的最少天数

作者推荐 动态规划的时间复杂度优化 本文涉及知识点 分类讨论 割点 LeetCode1568. 使陆地分离的最少天数 给你一个大小为 m x n &#xff0c;由若干 0 和 1 组成的二维网格 grid &#xff0c;其中 1 表示陆地&#xff0c; 0 表示水。岛屿 由水平方向或竖直方向上相邻的 1 …

Bootstrap的使用

目录 js的引入&#xff1a; 1.行内式 2.嵌入式 3.外链式 Bootstrap:的引入 注意事项&#xff1a; 条件注释语句&#xff1a; 栅格系统&#xff1a; 列嵌套&#xff1a; 列偏移&#xff1a; 列排序&#xff1a; 响应式工具&#xff1a; Bootstrap的字体图标的使用&a…

【MATLAB源码-第147期】基于matlab的QPSK调制解调在AWGN信道,瑞利信道,莱斯信道理论与实际误码率对比仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 四相位移键控&#xff08;QPSK&#xff0c;Quadrature Phase Shift Keying&#xff09;是一种重要的数字调制技术&#xff0c;它通过改变信号的相位来传输数据。与其他调制技术相比&#xff0c;QPSK在相同的带宽条件下能够传…

某象滑块js逆向(主要是声明拿过我代码的进来)

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供完整代码&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx a15018…

MySQL中json类型的字段

有些很复杂的信息&#xff0c;我们一般会用扩展字段传一个json串&#xff0c;字段一般用text类型存在数据库。mysql5.7以后支持json类型的字段&#xff0c;还可以进行sql查询与修改json内的某个字段的能力。 1.json字段定义 ip_info json DEFAULT NULL COMMENT ip信息, 2.按…

python脚本实现全景站点矩阵转欧拉角

效果 脚本 import re import numpy as np import math import csv from settings import * # 以下是一个示例代码,可以输入3*3旋转矩阵,然后输出旋转角度:# ,输入3*3旋转矩阵# 计算x,y,z旋转角def rotation_matrix_to_euler_angles(R):