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

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

🌈 个人主页:高斯小哥

🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化Python基础【高质量合集】PyTorch零基础入门教程👈 希望得到您的订阅和支持~

💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)


🌵文章目录🌵

🔍一、pandas库简介

  pandas是Python中一个非常流行的数据处理库,它提供了大量的数据结构(如Series和DataFrame)以及数据分析工具,使得数据处理变得既简单又高效。在pandas中,query()方法是一个功能强大的函数,允许用户通过字符串表达式来筛选DataFrame中的数据。

😊二、query()方法基础

  query()方法允许你使用字符串表达式来筛选DataFrame的行。这个表达式类似于你在Python中使用的常规表达式,但是它专门针对DataFrame的列名和值。

📋 示例1:基本用法

python 复制代码
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)

输出:

c 复制代码
   A  B  C
2  3  7  r
3  4  8  s

😊三、高级用法与技巧

  query()方法不仅限于简单的比较操作,你还可以使用逻辑运算符(如&|)和更复杂的表达式来筛选数据。

📋 示例2:使用逻辑运算符

python 复制代码
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)

输出:

c 复制代码
   A  B  C
2  3  7  r

📋 示例3:使用字符串方法

python 复制代码
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)

输出:

c 复制代码
   A  B   C
1  2  6  qu

😉四、结合其他pandas功能

  query()方法还可以与其他pandas功能(如groupby()sort_values()等)结合使用,以执行更复杂的数据操作。

📋 示例4:结合groupby()

python 复制代码
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)

输出:

c 复制代码
     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中的数据。通过结合逻辑运算符和字符串方法,你可以执行复杂的数据筛选操作。然而,在处理大型数据集时,你应该注意性能问题,并考虑使用其他筛选方法。

🤝六、期待与你共同进步

  🌱 亲爱的读者,非常感谢你每一次的停留和阅读!你的支持是我们前行的最大动力!🙏

  🌐 在这茫茫网海中,有你的关注,我们深感荣幸。你的每一次点赞👍、收藏🌟、评论💬和关注💖,都像是明灯一样照亮我们前行的道路,给予我们无比的鼓舞和力量。🌟

  📚 我们会继续努力,为你呈现更多精彩和有深度的内容。同时,我们非常欢迎你在评论区留下你的宝贵意见和建议,让我们共同进步,共同成长!💬

  💪 无论你在编程的道路上遇到什么困难,都希望你能坚持下去,因为每一次的挫折都是通往成功的必经之路。我们期待与你一起书写编程的精彩篇章! 🎉

  🌈 最后,再次感谢你的厚爱与支持!愿你在编程的道路上越走越远,收获满满的成就和喜悦!祝你编程愉快!🎉

相关推荐
Bruce_Liuxiaowei19 分钟前
从基础理论开始学习人工智能(三):盲目搜索——从状态空间图到生成-测试范式
人工智能·学习
有梦想的骇客41 分钟前
PyTorch学习笔记
pytorch·笔记·学习
威联通网络存储1 小时前
TS-h3087XU-RP 汽车零部件质检追溯部署
python·汽车
你驴我1 小时前
WhatsApp 多账号场景下的会话归档与历史消息检索优化实践
后端·python
IT毕设实战小研1 小时前
基于安卓的空气质量查询系统
android·大数据·vue.js·爬虫·python·django·课程设计
陈年老古董1 小时前
深度学习入门笔记:从神经元到深度神经网络
人工智能·笔记·深度学习·神经网络·学习
harmful_sheep2 小时前
java group by常见用法
java·开发语言·python
whcyhhh2 小时前
头歌实践教学平台:数据科学与大数据技术导论(十六)
大数据·开发语言·python
宸津-代码粉碎机2 小时前
AI工程化高阶实战|从Demo到生产落地核心架构、全套源码与避坑指南
java·大数据·开发语言·人工智能·python·架构
2601_967100423 小时前
护眼灯哪个牌子更好更专业耐用?专业长效护眼台灯品牌推荐,品质过硬
学习·护眼·台灯