探索 Python 中的优雅利器:Numpy 库

Numpy 是一个备受推崇的科学计算库,许多学科和专业都以它为基础。比如,数据统计常用的 Pandas 和计算机视觉领域的 OpenCV 等库都依赖于 Numpy。下图展示了一些经典的 Python 库,它们都直接或间接地使用了 Numpy。

图片[1]-探索 Python 中的优雅利器:Numpy 库-山海云端论坛

安装

使用 pip 安装 Numpy 非常简单,只需在命令行中执行以下命令:

<code>pip install numpy</code>

Numpy 数组

Numpy 数组支持直接进行四则运算,其向量化计算方式避免了大量的循环,因此 Numpy 处理数据的速度可与 C/C++ 相媲美,远远快于 Matlab。如果你有 Matlab 的使用经验,那么转向 Numpy 将会是相对快速的。

创建数组

Numpy 提供了几种创建数组的方法:

  1. 使用 array 函数从 Python 列表或元组中创建数组。数组的类型取决于列表中元素的类型。
<code>import numpy as np a = np.array([1, 2, 3, 4]) print(a) print(a.dtype) b = np.array([2.2, 1.5, 3.1]) print(b.dtype)</code>
  1. 直接使用 array 函数创建数组并指定数据类型。
<code>c = np.array([[1, 2], [3, 4]], dtype=complex) print(c)</code>
  1. 创建元素未知但大小已知的数组,可以使用 zerosonesempty 函数。这些函数创建的数组默认的数据类型是 float64
<code>print(np.zeros((3, 4))) print(np.ones((2, 3, 4), dtype=np.int16)) print(np.empty((2, 3)))</code>

元素的四则运算

Numpy 数组支持元素级别的四则运算,即数组间的运算将作用于对应元素上。

<code>a = np.array([20, 30, 40, 50]) b = np.array([0, 1, 2, 3]) c = a - b print(c)</code>

乘积运算符 * 在 Numpy 数组中按元素进行运算。矩阵乘积可以使用 @ 运算符(在 Python >= 3.5 中),或者 dot 函数来实现。

<code>A = np.array([[1, 1], [0, 1]]) B = np.array([[2, 0], [3, 4]]) print(A * B) # 元素积 print(A @ B) # 矩阵积 print(A.dot(B)) # 矩阵积</code>

总结

Numpy 的核心思想是数据的向量化,通过数组的计算减少或避免引入 Python 的循环计算,从而提升了数据科学计算的效率。因此,在编码时应尽量采用向量化思维,避免对数据的单个元素进行操作,而是通过整体操作来得到计算结果。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容