📜  NumPy-算术运算(1)

📅  最后修改于: 2023-12-03 14:44:49.223000             🧑  作者: Mango

NumPy-算术运算

NumPy(Numerical Python)是 Python 的一个重要库,它提供了高性能的科学计算和数据分析工具,尤其是在大规模数组计算方面优势明显。在本文中,我们将介绍 NumPy 中的算术运算。

数组的算术运算

NumPy 的算术运算中,我们可以对数组进行各种标准的加、减、乘、除等操作。我们看下面这个例子:

import numpy as np

a = np.array([1, 2, 3, 4])
b = np.array([5, 6, 7, 8])

# 数组加法
print(a + b) # [ 6  8 10 12]

# 数组减法
print(a - b) # [-4 -4 -4 -4]

# 数组乘法
print(a * b) # [ 5 12 21 32]

# 数组除法
print(a / b) # [0.2        0.33333333 0.42857143 0.5       ]

在以上示例中,我们定义了两个数组 ab,分别包含了 [1, 2, 3, 4][5, 6, 7, 8] 这两组数据。接着我们对这两组数组进行标准的加、减、乘、除操作。在 NumPy 中,这些算术运算使用起来非常方便。

矩阵的算术运算

NumPy 还支持对矩阵进行各种标准的算术运算。我们看下面这个例子:

import numpy as np

# 定义两个矩阵
A = np.array([[1,2],[3,4]])
B = np.array([[5,6],[7,8]])

# 矩阵加法
print(A + B)

# 矩阵减法
print(A - B)

# 矩阵乘法
print(np.dot(A, B))

在以上示例中,我们定义了两个矩阵 AB,并使用 np.dot() 函数实现了矩阵乘法。在 NumPy 中,矩阵的乘法使用 np.dot() 函数实现非常方便。

广播机制

在 NumPy 中,广播(Broadcasting)指的是在不同形状的数组之间执行算术运算的能力。例如可以轻松地对具有不同形状的数组进行加减乘除等操作,而无需进行任何处理。

import numpy as np

a = np.array([[1,2,3], [4,5,6]])
b = np.array([10, 20, 30])

# 广播机制
print(a + b)

在以上示例中,我们定义了两个数组 ab。数组 a 是一个形状为 (2, 3) 的数组,而数组 b 是一个形状为 (3,) 的数组。在加法运算时,NumPy 会自动的将 b 这个 (3,) 形状的数组进行扩展,变成 (1,3) 形状的数组,接着将其在第一个维度(也就是行)上进行扩展,变成 (2,3) 形状的数组。这样,ab 就变成了具有相同形状的数组。因此,可以使用标准的加法运算对这两个数组进行加法运算,获得相应的结果。

结论

通过以上示例,我们可以看到 NumPy 中的算术运算非常的灵活和方便。它可以轻松地处理各种形状和类型的数组和矩阵,帮助我们进行科学计算和数据分析的工作。在日常的开发工作中,我们可以尝试使用 NumPy 中的算术运算来简化我们的代码和优化我们的程序。