Numpy 是一个备受推崇的科学计算库,许多学科和专业都以它为基础。比如,数据统计常用的 Pandas 和计算机视觉领域的 OpenCV 等库都依赖于 Numpy。下图展示了一些经典的 Python 库,它们都直接或间接地使用了 Numpy。
安装
使用 pip 安装 Numpy 非常简单,只需在命令行中执行以下命令:
<code>pip install numpy</code>
Numpy 数组
Numpy 数组支持直接进行四则运算,其向量化计算方式避免了大量的循环,因此 Numpy 处理数据的速度可与 C/C++ 相媲美,远远快于 Matlab。如果你有 Matlab 的使用经验,那么转向 Numpy 将会是相对快速的。
创建数组
Numpy 提供了几种创建数组的方法:
- 使用
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>
- 直接使用
array
函数创建数组并指定数据类型。
<code>c = np.array([[1, 2], [3, 4]], dtype=complex) print(c)</code>
- 创建元素未知但大小已知的数组,可以使用
zeros
、ones
和empty
函数。这些函数创建的数组默认的数据类型是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
暂无评论内容