文章目录
简介
python数据科学生态环境的强大力量在Numpy和Pandas的基础之上,并通过直观的语法将基本操作转化为c语言:在Numpy里是向量化/广播运算,在pandas里是分组型的运算。虽然这些抽象功能可以简洁高效的解决很多问题,但是他们经常需要创建临时对象,这样会占用很大的计算时间和内存。
Pandas为了解决性能问题,引入了eval
()和query
()函数,他们可以让用户直接运行C语言速度的操作,不需要费力的配置中间数组,它们都依赖于Numexpr程序包
对于下面的numpy的向量化运算,其优点很明显:想比于普通的python循环或者列表综合运行速度要快很多,但是对于下面的复合代数式问题的运算效率就比较低。
mask = (x>0.5) & (x<0.5)