首页 > Python资料 博客日记
Python实用技巧:Pandas--DataFrame--筛选和删除含特定值的行与列
2024-05-15 15:00:05Python资料围观296次
Python实用技巧:Pandas–DataFrame–筛选和删除含特定值的行与列
🌈 个人主页:高斯小哥
🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您的订阅和支持~
💡 创作高质量博文,分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)
👋🏼欢迎来到我的技术博客!今天我们将一起探讨如何在Python的Pandas库中,使用DataFrame来筛选和删除含有特定值的行与列。Pandas是Python中一个非常强大的数据分析库,它提供了大量的功能来帮助我们高效地处理和分析数据。
关键词:#Pandas #DataFrame #筛选特定值 #删除特定值 #布尔索引 #drop方法 #实战演练 #数据处理
一、基础知识回顾 📚
在开始之前,让我们先回顾一下Pandas DataFrame的基础知识。DataFrame是Pandas中的一个核心数据结构,它可以看作是一个表格,拥有行和列,可以存储不同类型的数据。示例如下:
import pandas as pd
# 创建一个简单的DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 35, 40],
'City': ['New York', 'Los Angeles', 'Chicago', 'Houston']
}
df = pd.DataFrame(data)
print(df)
输出:
Name Age City
0 Alice 25 New York
1 Bob 30 Los Angeles
2 Charlie 35 Chicago
3 David 40 Houston
二、筛选含有特定值的行 🔍
在Pandas中,我们可以使用布尔索引来筛选含有特定值的行。布尔索引就是根据每个元素是否满足某个条件(返回True或False)来筛选数据。
# 筛选年龄大于30的行
df_filtered = df[df['Age'] > 30]
print(df_filtered)
上面的代码会筛选出年龄大于30的行,并返回一个新的DataFrame:
Name Age City
2 Charlie 35 Chicago
3 David 40 Houston
三、删除含有特定值的行 🗑️
如果我们想从原始DataFrame中删除满足某个条件的行,可以使用drop
方法。
# 删除年龄大于30的行
df_dropped = df.drop(df[df['Age'] > 30].index)
print(df[df['Age'] > 30].index)
print("*"*30)
print(df_dropped)
上面的代码会删除年龄大于30的行,并返回一个新的DataFrame:
Index([2, 3], dtype='int64')
******************************
Name Age City
0 Alice 25 New York
1 Bob 30 Los Angeles
四、筛选含有特定值的列 🔎
同样地,我们也可以筛选含有特定值的列。
# 筛选城市为"Chicago"的列
df_filtered_columns = df[df['City'] == 'Chicago']
print(df['City'] == 'Chicago')
print("*"*30)
print(df_filtered_columns)
上面的代码会筛选出城市为"Chicago"的列,并返回一个新的DataFrame:
0 False
1 False
2 True
3 False
Name: City, dtype: bool
******************************
Name Age City
2 Charlie 35 Chicago
五、删除含有特定值的列 🗑️
要删除含有特定值的列,我们可以使用drop
方法,并指定columns
参数。
# 删除城市为"Chicago"的列
df_dropped_columns = df.drop(columns=['City'])
print(df_dropped_columns)
上面的代码会删除城市列,并返回一个新的DataFrame:
Name Age
0 Alice 25
1 Bob 30
2 Charlie 35
3 David 40
注意:筛选和删除操作默认返回的是一个新的DataFrame,不会改变原始的DataFrame。
六、实战演练 🚀
假设我们有一个包含学生信息的DataFrame,我们要筛选出年龄大于15且城市为"New York"的学生。
import pandas as pd
# 创建一个包含学生信息的DataFrame
student_data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve', 'Frank'],
'Age': [22, 25, 18, 28, 21, 27],
'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'New York', 'San Francisco']
}
student_df = pd.DataFrame(student_data)
print("原始DataFrame:")
print(student_df)
# 筛选年龄大于1且5城市为"New York"的学生
filtered_students = student_df[(student_df['Age'] > 15) & (student_df['City'] == 'New York')]
print("\n筛选后的DataFrame:")
print(filtered_students)
上面的代码会筛选出年龄大于15且城市为"New York"的学生,并打印出筛选后的DataFrame:
原始DataFrame:
Name Age City
0 Alice 22 New York
1 Bob 25 Los Angeles
2 Charlie 18 Chicago
3 David 28 Houston
4 Eve 21 New York
5 Frank 27 San Francisco
筛选后的DataFrame:
Name Age City
0 Alice 22 New York
4 Eve 21 New York
七、最后 🤝
亲爱的读者,感谢您每一次停留和阅读,这是对我们最大的支持和鼓励!🙏在茫茫网海中,您的关注让我们深感荣幸。您的独到见解和建议,如明灯照亮我们前行的道路。🌟若在阅读中有所收获,一个赞或收藏,对我们意义重大。
我们承诺,会不断自我挑战,为您呈现更精彩的内容。📚有任何疑问或建议,欢迎在评论区畅所欲言,我们时刻倾听。💬让我们携手在知识的海洋中航行,共同成长,共创辉煌!🌱🌳感谢您的厚爱与支持,期待与您共同书写精彩篇章!
您的点赞👍、收藏🌟、评论💬和关注💖,是我们前行的最大动力!
🎉 感谢阅读,祝你编程愉快! 🎉
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程