发布于2024-11-05 阅读(0)
扫一扫,手机访问
一、引言
NumPy (Numerical Python)是一个 Python 开源科学计算库,用于快速处理大型数组和矩阵以及执行各种数学运算。在数据分析、计算机视觉、自然语言处理、神经网络等领域中都得到了广泛应用。NumPy 的一个主要优势就是运算速度快,因为它是用 C 语言实现的。
在本文中,我们将探索 NumPy 库的应用场景和功能,并提供具体的代码示例。
二、数组操作
NumPy 最常用的功能就是数组操作,包括创建、索引、切片、修改等。
我们可以通过 numpy.array() 函数来创建数组,也可以通过 numpy.zeros() 或 numpy.ones() 函数来创建全零或全一数组。
import numpy as np a = np.array([1, 2, 3]) # 创建一维数组 b = np.array([[1, 2, 3], [4, 5, 6]]) # 创建二维数组 c = np.zeros((2, 3)) # 创建全零数组 d = np.ones((2, 3)) # 创建全一数组
我们可以使用索引或切片来访问数组元素。
print(b[1, 0]) # 输出 4 print(a[1:]) # 输出 [2, 3] print(b[1, 1:]) # 输出 [5, 6]
我们可以通过索引或切片来修改数组元素。
a[0] = 0 b[1, 1] = 0 c[1] = [4, 5, 6] d[:, 2] = 0
三、数学运算
NumPy 提供了许多常用的数学函数,例如加减乘除、矩阵乘法、求和、平均数、标准差、排序等。
NumPy 支持数组加减乘除等运算,同时也支持数组与标量间的运算。
e = np.array([1, 2, 3]) f = np.array([4, 5, 6]) g = e + f h = e * 2 i = f / 2
NumPy 中的 dot() 函数可以进行矩阵乘法运算,也可以对两个数组进行点乘运算。
j = np.array([[1, 2], [3, 4]]) k = np.array([[5, 6], [7, 8]]) l = np.dot(j, k) m = np.array([1, 2]) n = np.array([3, 4]) o = np.dot(m, n)
NumPy 中的 sum() 函数可以计算数组的和,mean() 函数可以计算数组的平均值,std() 函数可以计算数组的标准差。
p = np.array([1, 2, 3]) q = np.array([[1, 2], [3, 4]]) r = np.sum(p) s = np.mean(p) t = np.std(p) u = np.sum(q) v = np.mean(q) w = np.std(q)
NumPy 中的 sort() 函数可以对数组进行排序,也可以指定排序的轴。
x = np.array([3, 1, 2]) y = np.array([[3, 2], [1, 4]]) z = np.sort(x) ab = np.sort(y, axis=0)
四、数组操作的扩展
NumPy 提供了一些操作数组的函数,例如 reshape()、transpose()、vstack()、hstack() 等,这些函数可以帮助我们快速进行数组转换或合并。
reshape() 函数可以将数组的形态改变为指定维度。
ac = np.array([1, 2, 3, 4, 5, 6]) ad = ac.reshape(2, 3)
transpose() 函数可以对数组进行转置操作。
ae = np.array([[1, 2], [3, 4]]) af = np.transpose(ae)
vstack() 函数可以将多个数组按照行方向叠加起来。
ag = np.array([1, 2]) ah = np.array([3, 4]) ai = np.vstack((ag, ah))
hstack() 函数可以将多个数组按照列方向合并起来。
aj = np.array([1, 2]) ak = np.array([3, 4]) al = np.hstack((aj, ak))
五、总结
在本文中,我们探索了 NumPy 库的应用场景和功能,并提供了具体的代码示例。NumPy 不仅仅可以帮助我们快速处理大型数组和矩阵,还可以提供丰富的数学操作和数组处理函数。如果你准备进入数据分析、计算机视觉、自然语言处理、神经网络等领域,那么学习 NumPy 是非常有必要的。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店