找回密码
 会员注册
查看: 38|回复: 0

Python实用技巧:Pandas--DataFrame--筛选和删除含特定值的行与列

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
72245
发表于 2024-9-7 15:54:00 | 显示全部楼层 |阅读模式
Python实用技巧:Pandas–DataFrame–筛选和删除含特定值的行与列🌈个人主页:高斯小哥🔥高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈希望得到您的订阅和支持~💡创作高质量博文,分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)🌵文章目录🌵一、基础知识回顾📚二、筛选含有特定值的行🔍三、删除含有特定值的行🗑️四、筛选含有特定值的列🔎五、删除含有特定值的列🗑️六、实战演练🚀七、最后🤝  👋🏼欢迎来到我的技术博客!今天我们将一起探讨如何在Python的Pandas库中,使用DataFrame来筛选和删除含有特定值的行与列。Pandas是Python中一个非常强大的数据分析库,它提供了大量的功能来帮助我们高效地处理和分析数据。关键词:#Pandas#DataFrame#筛选特定值#删除特定值#布尔索引#drop方法#实战演练#数据处理一、基础知识回顾📚  在开始之前,让我们先回顾一下PandasDataFrame的基础知识。DataFrame是Pandas中的一个核心数据结构,它可以看作是一个表格,拥有行和列,可以存储不同类型的数据。示例如下:importpandasaspd#创建一个简单的DataFramedata={'Name':['Alice','Bob','Charlie','David'],'Age':[25,30,35,40],'City':['NewYork','LosAngeles','Chicago','Houston']}df=pd.DataFrame(data)print(df)1234567891011'运行运行输出:NameAgeCity0Alice25NewYork1Bob30LosAngeles2Charlie35Chicago3David40Houston12345二、筛选含有特定值的行🔍  在Pandas中,我们可以使用布尔索引来筛选含有特定值的行。布尔索引就是根据每个元素是否满足某个条件(返回True或False)来筛选数据。#筛选年龄大于30的行df_filtered=df[df['Age']>30]print(df_filtered)123上面的代码会筛选出年龄大于30的行,并返回一个新的DataFrame:NameAgeCity2Charlie35Chicago3David40Houston123三、删除含有特定值的行🗑️如果我们想从原始DataFrame中删除满足某个条件的行,可以使用drop方法。#删除年龄大于30的行df_dropped=df.drop(df[df['Age']>30].index)print(df[df['Age']>30].index)print("*"*30)print(df_dropped)12345上面的代码会删除年龄大于30的行,并返回一个新的DataFrame:Index([2,3],dtype='int64')******************************NameAgeCity0Alice25NewYork1Bob30LosAngeles12345四、筛选含有特定值的列🔎同样地,我们也可以筛选含有特定值的列。#筛选城市为"Chicago"的列df_filtered_columns=df[df['City']=='Chicago']print(df['City']=='Chicago')print("*"*30)print(df_filtered_columns)12345上面的代码会筛选出城市为"Chicago"的列,并返回一个新的DataFrame:0False1False2True3FalseName:City,dtype:bool******************************NameAgeCity2Charlie35Chicago12345678五、删除含有特定值的列🗑️要删除含有特定值的列,我们可以使用drop方法,并指定columns参数。#删除城市为"Chicago"的列df_dropped_columns=df.drop(columns=['City'])print(df_dropped_columns)123上面的代码会删除城市列,并返回一个新的DataFrame:NameAge0Alice251Bob302Charlie353David4012345注意:筛选和删除操作默认返回的是一个新的DataFrame,不会改变原始的DataFrame。六、实战演练🚀假设我们有一个包含学生信息的DataFrame,我们要筛选出年龄大于15且城市为"NewYork"的学生。importpandasaspd#创建一个包含学生信息的DataFramestudent_data={'Name':['Alice','Bob','Charlie','David','Eve','Frank'],'Age':[22,25,18,28,21,27],'City':['NewYork','LosAngeles','Chicago','Houston','NewYork','SanFrancisco']}student_df=pd.DataFrame(student_data)print("原始DataFrame:")print(student_df)#筛选年龄大于1且5城市为"NewYork"的学生filtered_students=student_df[(student_df['Age']>15)&(student_df['City']=='NewYork')]print("\n筛选后的DataFrame:")print(filtered_students)1234567891011121314151617'运行运行上面的代码会筛选出年龄大于15且城市为"NewYork"的学生,并打印出筛选后的DataFrame:原始DataFrame:NameAgeCity0Alice22NewYork1Bob25LosAngeles2Charlie18Chicago3David28Houston4Eve21NewYork5Frank27SanFrancisco筛选后的DataFrame:NameAgeCity0Alice22NewYork4Eve21NewYork12345678910111213七、最后🤝  亲爱的读者,感谢您每一次停留和阅读,这是对我们最大的支持和鼓励!🙏在茫茫网海中,您的关注让我们深感荣幸。您的独到见解和建议,如明灯照亮我们前行的道路。🌟若在阅读中有所收获,一个赞或收藏,对我们意义重大。  我们承诺,会不断自我挑战,为您呈现更精彩的内容。📚有任何疑问或建议,欢迎在评论区畅所欲言,我们时刻倾听。💬让我们携手在知识的海洋中航行,共同成长,共创辉煌!🌱🌳感谢您的厚爱与支持,期待与您共同书写精彩篇章!  您的点赞👍、收藏🌟、评论💬和关注💖,是我们前行的最大动力!  🎉感谢阅读,祝你编程愉快!🎉
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-11 06:03 , Processed in 0.450175 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表