「Python数据分析」Pandas基础,数据选择重量级:query()方法

liftword1周前 (12-20)技术文章12

我们在利用布尔索引,进行数据选择的时候,需要深入理解逻辑操作符,也就是与或非操作。特别是布尔索引对行索引的处理,往往过于冗长和复杂,还需要注意行索引下标的起始位置。这对于非计算机专业的数据分析人员来说,相对于不太友好。

针对以上问题,本篇文章详细介绍一个数据选择的重量级方法,也就是query()方法。通过query()方法对数据进行查询,可以提高查询速度和效率,还可以让查询的代码更加清晰和简便。这对于非计算机专业的数据分析人员来说,是一个不错的数据查询方法。

先看一个布尔索引或操作的query()方法实现方式

生成原始数据集

这里分别用纯净的python查询方法和query方法进行对比

从上图中的查询代码,以及查询结果可以看到,实现同样的查询过程,用query方法的话,代码更加清晰,而且复杂度大大降低,让人容易理解。

我们甚至可以把和操作符&,换成英文and表示

还可以去掉小括号,进一步优化代码,让查询代码更加简洁

in 和 not in 操作符的 query 方法替代

这里,我们重新生成一个数据集

先来看in操作的query方法

这里的in操作符,表示的是包含的意思,也就是a列的值,在b列中出现的数据行。

我们可以从原始数据集看到,a列有a,b,c,d,e,f这几个数据值,b列有a,b,c三个不重复的数据值。那么,a列在b列中出现的数据值,就是a,b,c三个,包含重复值。

用纯净的python语句查询的话,是下面这样的

再来看看not in操作的query方法实现方式

query方法的组合查询方式

我们可以把in和not in操作,以及布尔操作组合起来,通过query方法来实现

通过list对象实现的==和!=操作符的query实现方式

==操作符等同于in操作符

代码的含义是,选择b列中的数值,同时在a,b,c三列中都出现过的数据。我们可以看出,b列中的a,b,c三个值,在a列中全部出现过,所以等同于选择全部数据。

纯净的python查询语句,是下面这样的

query方法的性能

我们再来看看query方法,和纯净的python查询语句相比,性能如何?

从上图可以看出,绿色的曲线,代表纯净的python查询语句的执行速度。橘红色的曲线,代表的是query方法的执行速度。

在不超过100,000行数据的情况下,query方法稍微慢一些,需要的时间更多。但是,超过100,000行数据的情况下,query方法的查询速度,就优于纯净的python查询语句了。

总结

query方法的语句,要比python的查询语句,更加简单易懂。对于非计算机专业的数据分析人员来说,可以用query方法,替代布尔索引,还有逻辑的与或非操作,以及in和not in操作。

在执行速度方面,100,000行数据是query方法和python查询语句的分界线。小于100,000行数据的情况下,python查询语句稍微快一些。大于100,000行数据的情况下,query方法要优于python查询语句。

相关文章

第4天|16天搞定Python数据分析,图表,靓靓靓

统计图是根据统计数字,用几何图形、事物形象和地图等绘制的各种图形。它具有直观、形象、生动、具体等特点。统计图可以使复杂的统计数字简单化、通俗化、形象化,使人一目了然,便于理解和比较。在上一篇《第3天|...

《Python医学数据分析入门》 python在医学数据分析的应用

作者:赵军编辑推荐数据分析是当今大数据时代最关键的技术,其广泛应用于包括医学在内的各个领域。Python 语言简单易用, 第三方库功能强大,提供了完整的数据分析框架,深受广大数据分析人员的青睐。本书涵...

以下是一份关于“Python 数据分析

以下是一份关于“Python 数据分析”的学习路径规划:---# 《Python 数据分析学习路径规划》## 一、基础准备1. 了解数据分析的基本概念和流程,包括数据收集、数据清洗、数据分析、数据可视...

Python 数据工程全解析:从基础到实战

Python 数据工程学习指南在数据工程领域,Python 出色的滑稳性和存在大量充实的库,让它成为举象实施数据工程的重要选择。本文将从下列方面总结你如何利用 Python 执行大规模数据处理:1....

第8天 | 16天搞定Python数据分析,Seaborn主

在这个看颜值的时代,matplotlib长得太一般,很难吸异性暗送秋波的眼光。为此,Seaborn对其进行了变装,修改了默认的颜色方案和绘图类型,提高了可读性和美观度。赏心悦目的图形不但能让数据探索中...

Python数据分析:利用Pandas进行数据挖掘

数据分析是现代商业和科研中不可或缺的技能,而Python的Pandas库则是进行数据分析的强大工具。Pandas提供了丰富的数据结构和数据分析功能,使得处理和分析数据变得更加简单和高效。以下是一些使用...