首页 > Python资料 博客日记
【Python】进阶学习:pandas--query()用法详解
2024-03-23 14:00:05Python资料围观161次
📚【Python】进阶学习:pandas–query()用法详解
🌈 个人主页:高斯小哥
🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~
💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)
🌵文章目录🌵
🔍一、pandas库简介
pandas是Python中一个非常流行的数据处理库,它提供了大量的数据结构(如Series和DataFrame)以及数据分析工具,使得数据处理变得既简单又高效。在pandas中,query()
方法是一个功能强大的函数,允许用户通过字符串表达式来筛选DataFrame中的数据。
😊二、query()方法基础
query()
方法允许你使用字符串表达式来筛选DataFrame的行。这个表达式类似于你在Python中使用的常规表达式,但是它专门针对DataFrame的列名和值。
📋 示例1:基本用法
import pandas as pd
# 创建一个示例DataFrame
data = {
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': ['p', 'q', 'r', 's']
}
df = pd.DataFrame(data)
# 使用query()方法筛选A列大于2的行
filtered_df = df.query('A > 2')
print(filtered_df)
输出:
A B C
2 3 7 r
3 4 8 s
😊三、高级用法与技巧
query()
方法不仅限于简单的比较操作,你还可以使用逻辑运算符(如&
、|
)和更复杂的表达式来筛选数据。
📋 示例2:使用逻辑运算符
import pandas as pd
# 创建一个示例DataFrame
data = {
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': ['p', 'q', 'r', 's']
}
df = pd.DataFrame(data)
# 筛选A列大于2且B列小于等于7的行
filtered_df = df.query('A > 2 and B <= 7')
print(filtered_df)
输出:
A B C
2 3 7 r
📋 示例3:使用字符串方法
import pandas as pd
# 创建一个示例DataFrame
data = {
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': ['p', 'qu', 'r', 's']
}
df = pd.DataFrame(data)
# 筛选C列以'q'开头的行
filtered_df = df.query('C.str.startswith("q")')
print(filtered_df)
输出:
A B C
1 2 6 qu
😉四、结合其他pandas功能
query()
方法还可以与其他pandas功能(如groupby()
、sort_values()
等)结合使用,以执行更复杂的数据操作。
📋 示例4:结合groupby()
import pandas as pd
# 创建一个示例DataFrame
data = {
'A': [1, 1, 2, 2, 3, 3, 4, 4],
'B': [5, 6, 6, 7, 7, 8, 8, 9],
'C': ['p', 'q', 'r', 's', 'p', 'q', 'r', 's']
}
df = pd.DataFrame(data)
# 按A列分组,并在每个组内筛选B列的最大值
grouped_df = df.groupby('A').apply(lambda x: x.query('B == B.max()'))
print(grouped_df)
输出:
A B C
A
1 1 1 6 q
2 3 2 7 s
3 5 3 8 q
4 7 4 9 s
🌈五、总结
query()
方法是pandas库中一个强大而灵活的工具,它允许你使用易读的字符串表达式来筛选DataFrame中的数据。通过结合逻辑运算符和字符串方法,你可以执行复杂的数据筛选操作。然而,在处理大型数据集时,你应该注意性能问题,并考虑使用其他筛选方法。
🤝六、期待与你共同进步
🌱 亲爱的读者,非常感谢你每一次的停留和阅读!你的支持是我们前行的最大动力!🙏
🌐 在这茫茫网海中,有你的关注,我们深感荣幸。你的每一次点赞👍、收藏🌟、评论💬和关注💖,都像是明灯一样照亮我们前行的道路,给予我们无比的鼓舞和力量。🌟
📚 我们会继续努力,为你呈现更多精彩和有深度的内容。同时,我们非常欢迎你在评论区留下你的宝贵意见和建议,让我们共同进步,共同成长!💬
💪 无论你在编程的道路上遇到什么困难,都希望你能坚持下去,因为每一次的挫折都是通往成功的必经之路。我们期待与你一起书写编程的精彩篇章! 🎉
🌈 最后,再次感谢你的厚爱与支持!愿你在编程的道路上越走越远,收获满满的成就和喜悦!祝你编程愉快!🎉
标签:
相关文章
最新发布
- 【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完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj