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

2024-06-09 1046阅读

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

【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()方法。如果你有任何疑问或建议,欢迎在评论区留言,我们一起探讨和学习。同时,也期待你分享你的经验和见解,让我们共同进步!

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]