当我们学习了如何使用 Pandas 进行数据的导入与导出,这为我们后续的数据处理打下了基础.此次我们将重点讨论数据选择与过滤.通过掌握这一部分的知识,你将能够轻松地从复杂的数据集中提取出所需的信息.接下来,我们将通过一些实例来逐步了解这些操作.
这里插播一条粉丝福利,如果你正在学习Python或者有计划学习Python,想要突破自我,对未来十分迷茫的,可以点击这里获取最新的Python学习资料和学习路线规划(免费分享,记得关注)
数据选择
数据选择主要是针对 Pandas 的 DataFrame
和 Series
进行的操作.我们可以通过行索引和列索引来选择数据.
基本选择
首先,载入一个示例数据集:
import pandas as pd# 创建一个示例数据集
data = {'姓名': ['张三', '李四', '王五', '赵六'],'年龄': [25, 30, 22, 28],'城市': ['北京', '上海', '广州', '深圳']
}df = pd.DataFrame(data)
print(df)
上面的代码会生成如下 DataFrame
:
姓名 年龄 城市
0 张三 25 北京
1 李四 30 上海
2 王五 22 广州
3 赵六 28 深圳
列选择
我们可以通过列名称选择特定的列.使用 []
或 .loc
方法:
# 选择单列
print(df['姓名'])# 选择多列
print(df[['姓名', '城市']])
输出结果如下:
0 张三
1 李四
2 王五
3 赵六
Name: 姓名, dtype: object姓名 城市
0 张三 北京
1 李四 上海
2 王五 广州
3 赵六 深圳
行选择
可以使用 iloc
和 loc
方法来选择行.
# 选择第一行
print(df.iloc[0])# 选择前两行
print(df.iloc[0:2])# 使用 loc 选择第二行(注意 loc 是包含结束的)
print(df.loc[1])
输出结果为:
姓名 张三
年龄 25
城市 北京
Name: 0, dtype: object姓名 年龄 城市
0 张三 25 北京
1 李四 30 上海姓名 李四
年龄 30
城市 上海
Name: 1, dtype: object
数据过滤
数据过滤是指根据某些条件选择符合条件的数据行或列.
一维过滤
可以通过布尔索引来过滤数据.例如,我们想选择年龄大于 25 岁的人:
# 过滤年龄大于 25 的数据
age_filter = df[df['年龄'] > 25]
print(age_filter)
输出结果为:
姓名 年龄 城市
1 李四 30 上海
3 赵六 28 深圳
多条件过滤
我们还可以结合多个条件进行过滤.例如,选择年龄大于 25 并且城市是“上海”的人:
# 过滤年龄大于 25 且城市为“上海”的数据
multi_filter = df[(df['年龄'] > 25) & (df['城市'] == '上海')]
print(multi_filter)
输出结果为:
姓名 年龄 城市
1 李四 30 上海
选择特定行和列
我们也可以在过滤后选择特定的列.以下是一个结合 loc
的例子:
# 过滤后选择特定的列
filtered_result = df.loc[df['年龄'] > 25, ['姓名', '城市']]
print(filtered_result)
输出结果为:
姓名 城市
1 李四 上海
3 赵六 深圳
结论
在这一节中,我们学习了如何在 Pandas 数据框中选择和过滤数据.掌握这些基本操作之后,在数据分析的过程中你将能更有效地处理和筛选出你感兴趣的信息.这些技能为接下来的数据清洗与处理奠定了坚实的基础.
最后,我精心筹备了一份全面的Python学习大礼包,完全免费分享给每一位渴望成长、希望突破自我现状却略感迷茫的朋友。无论您是编程新手还是希望深化技能的开发者,都欢迎加入我们的学习之旅,共同交流进步!
🌟 学习大礼包包含内容:
Python全领域学习路线图:一目了然,指引您从基础到进阶,再到专业领域的每一步学习路径,明确各方向的核心知识点。
超百节Python精品视频课程:涵盖Python编程的必备基础知识、高效爬虫技术、以及深入的数据分析技能,让您技能全面升级。
实战案例集锦:精选超过100个实战项目案例,从理论到实践,让您在解决实际问题的过程中,深化理解,提升编程能力。
华为独家Python漫画教程:创新学习方式,以轻松幽默的漫画形式,让您随时随地,利用碎片时间也能高效学习Python。
互联网企业Python面试真题集:精选历年知名互联网企业面试真题,助您提前备战,面试准备更充分,职场晋升更顺利。
👉 立即领取方式:只需【点击这里】,即刻解锁您的Python学习新篇章!让我们携手并进,在编程的海洋里探索无限可能