Pandas 中的高性能函数:eval() 和 query()丨数析学院

相较于 Python 的内置函数, Pandas 库为我们提供了一系列性能更高的数据处理函数,本节将向大家介绍 Pandas 库中的高性能函数 eval 与 query:

在 Python 中,我们可以用很多种的方法来实现同样的目标,例如实现两个数组的相加:

Pandas 中的高性能函数:eval() 和 query()丨数析学院_第1张图片
1

利用 Numpy 中的 fromiter 函数我们可以得到相同的一维数组,然而我们发现,这个语句的性能并不比内置的数组加法好。

Pandas 中的高性能函数:eval() 和 query()丨数析学院_第2张图片
2

再比如,进行某一项条件的判断:

Pandas 中的高性能函数:eval() 和 query()丨数析学院_第3张图片
3

Numpy 库中的函数 allclose 用于判断两个数组是否相等,我们可以看到,使用 numexpr 库中的 evaluate 函数同样可以实现 mask 中的条件判断。

Pandas 中的高性能函数:eval() 和 query()丨数析学院_第4张图片
4

面对同样的问题,Pandas 库为我们提供了更高性能的解决方案, eval 函数能够将特定形式的字符串转换为对应含义的逻辑判断或运算,比 Python 的内置函数具有更好的算法效率。

未完待续:课程内容较多,请复制链接通过电脑学习,获得最佳学习效果。 http://datacademy.io/lesson/114
Pandas 中的高性能函数:eval() 和 query()丨数析学院_第5张图片

你可能感兴趣的:(Pandas 中的高性能函数:eval() 和 query()丨数析学院)