NumPy中的矢量操作
Numpy数组在本质上是同质的,意味着它是一个只包含单一类型数据的数组。Python的列表和图元在它们包含的数据类型上是不受限制的。NumPy上的矢量操作的概念允许在NumPy数组对象和数据序列上使用更优化和预编译的函数和数学操作。与简单的非矢量化操作相比,输出和操作的速度会加快。
实例1:在NumPy数组上使用矢量求和方法。我们将比较矢量求和法与简单的非矢量操作,即迭代法来计算0-14999的数字之和。
输出 :
上面的例子显示了NumPy的矢量化操作与非矢量化操作相比,具有更优的性质。这意味着当计算效率是程序的关键因素时,我们应该避免使用这些简单的操作,而应该使用NumPy的矢量化函数。
例子2:这里我们将比较NumPy指数函数和Python内置数学库的指数函数,以计算特定对象中每个条目的指数值。
输出 :
在这里,我们可以看到NumPy的矢量操作在计算值方面更加优化,而且伴随着Python数学库的一个限制,即数学库的范围限制,因为它不适合非常大的数值,不像NumPy的矢量操作可以用来计算非常大范围限制的指数值。
以上两个例子证明了NumPy矢量函数和操作的最佳性质,当在python程序或脚本中比较和使用简单或非矢量函数或操作时。