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

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

🌈 个人主页:高斯小哥

🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~

💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)


🌵文章目录🌵

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

📚 一、pandas库简介

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

🔍 二、isin()方法基础

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

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

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

python 复制代码
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)

输出:

c 复制代码
      Name  Subject  Score
0    Alice     Math     90
1      Bob  Science     85
2  Charlie     Math     92
4      Eve  Science     88

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

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

python 复制代码
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)

输出:

c 复制代码
      Name  Subject  Score
0    Alice     Math     90
2  Charlie     Math     92
4      Eve  Science     88

🎯 三、高级用法与技巧

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

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

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

python 复制代码
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)

输出:

c 复制代码
      Name Subject  Score
0    Alice    Math     90
2  Charlie    Math     92

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

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

python 复制代码
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)

输出:

c 复制代码
      Name  Subject  Score
0    Alice     Math     90
1      Bob  Science     85
2  Charlie     Math     92
4      Eve  Science     88

🎉 四、总结

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

🤝 五、期待与你共同进步

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

相关推荐
Rabitebla1 分钟前
【Linux操作系统】进程篇(十一):进程程序替换——从底层原理到 exec 函数族
linux·服务器·c++·笔记·学习·算法
青少儿编程课堂1 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:Bellman-Ford与SPFA含负权最短路及负环检测全解析
c++·python·算法·bfs·信息学竞赛
叼烟扛炮1 小时前
[LangChain] 学习笔记(03):打破失忆症——对话机制与上下文管理
java·前端·javascript·笔记·学习·langchain
小小张说故事1 小时前
Python 的 __init__ 到底是不是构造函数?拆开 __new__ 先造对象、那次被跳过的初始化和必须返回 None 的规矩
python
旖旎夜光1 小时前
【C++ 基础入门】类和对象(下):初始化列表、static 成员、友元与内部类
c++·笔记·学习
拖累斯1 小时前
Jenkins + Python 全自动跑通「禅道任务/BUG 导出 → 月度开发考核表」
python·jenkins·bug
LONGZHIQIN1 小时前
STM32学习笔记
笔记·stm32·学习·arm
特立独行的猫A2 小时前
13MB 单文件、一条命令变服务:把仓颉写的 cjh 内嵌进你的应用,当它的 AI 大脑
java·后端·python
redtank20002 小时前
纯血鸿蒙小工具三件套实测:弹幕手持、爱记录与仓库管理软件
学习·华为·智能手机·harmonyos
deepseek232 小时前
Agent任务中途断线,怎么避免重复执行?SQLite检查点实测
python·sqlite·任务调度·幂等性·ai agent