【Numpy】数组的计算1
Numpy数组的计算:通用函数 Numpy数组的计算有时非常快,有时也非常慢,使Numpy变快的关键是利用向量化的操作,通常在Numpy的通用函数中实现,提高数组元素的重复计算的效率 缓慢的循环 Pythom的默认实现(被称为Cpython)处理某种操作时非常慢,一部分原因是该语言的动态性和解释性-数据类型的灵活特性决定了序列操作不能像C语言和Fortan语言一样被编译成有效的机器码 Python的相对缓慢通常出现在很多小操作需要不断重复的时候,比如对数组的每个元素做循环操作时。 事实上处理的瓶颈并不是运算本身,而是Cpython在每次循环时都必须做数据类型的检查和函数的调度,并没有静态语言运行前编译这样更有效率 通用函数介绍 Numpy为很多类型的操作提供了非常方便的,静态类型的,可编译程序的接口。也被称作向量操作,可以通过简单地对数组进行操作,这样会用于数组的每一个元素 Numpy的向量操作是通过通用函数实现的,通用函数的主要目的是对Numpy数组中的值执行更快的重复操作 1 np.arange(5) / np.arange(1, 6) 2 Out[85]: array([0. , 0.5 , 0.66666667, 0.75 , 0.8 ]) 不仅限于一维数组,可以进行多维数组的计算 1 x = np.arange(9).reshape((3,3)) 2 3 2 ** x 4