NumPy 包包含许多算术函数,它们提供各种算术运算所需的所有功能。它包括算术函数和处理复数的函数。下面提到的是最常用的算术函数。
函数 | 描述 |
---|---|
add() | 加法 |
subtract() | 减法 |
multiply() | 乘法 |
divide() | 除法 |
mod() | 取模 |
reciprocal() | 按元素返回参数的倒数。 |
power() | 返回底数的指数次方。 |
real() | 返回复数参数的实部。 |
imag() | 返回复数参数的虚部。 |
conjugate() | 返回元素的共轭复数。 |
angle() | 返回复数参数的角度。 |
让我们详细讨论这些函数:
基本算术运算
可以对给定的值执行基本算术运算数组,按元素使用 add()、subtract()、multiply() 和divide() 函数。使用该函数的语法如下:
语法
numpy.add(x1, x2, out=None)
numpy.subtract(x1, x2, out=None)
numpy.multiply(x1, x2, out=None)
numpy.divide(x1, x2, out=None)
参数
x1, x2 | 必填。 指定数组。如果 x1.shape != x2.shape,则它们必须可广播为通用形状。 |
out | 可选。 指定存储结果的位置。如果提供,它必须具有输入广播到的形状。如果未提供或没有,则返回新分配的数组。 |
示例:
下面的示例显示add() 函数的用法。
import numpy as np
Arr1 = np.array([[10,20,30], [40,50,60]])
Arr2 = np.array([[5,10,15]])
print("Arr1 为:")
print(Arr1)
print("\nArr2 为:")
print(Arr2)
#这里Arr1和Arr2是可广播的
#添加Arr1和Arr2的元素
print("\nadd(Arr1, Arr2) returns:")
print(np.add(Arr1, Arr2))
#从Arr1中减去Arr2的元素
print("\nsubtract(Arr1, Arr2) returns:")
print(np.subtract(Arr1, Arr2))
#将 Arr1 的元素与 Arr2 相乘
print("\nmultiply(Arr1, Arr2) returns:")
print(np.multiply(Arr1, Arr2))
#将 Arr1 的元素除以 Arr2
print("\ndivide(Arr1, Arr2) returns:")
print(np.divide(Arr1, Arr2))
上述代码的输出将是:
Arr1 为:
[[10 20 30]
[40 50 60]]
Arr2 为:
[[ 5 10 15]]
add(Arr1, Arr2) returns:
[[15 30 45]
[45 60 75]]
subtract(Arr1, Arr2) returns:
[[ 5 10 15]
[35 40 45]]
multiply(Arr1, Arr2) returns:
[[ 50 200 450]
[200 500 900]]
divide(Arr1, Arr2) returns:
[[2. 2. 2.]
[8. 5. 4.]]
numpy.reciprocal() 函数
numpy.reciprocal() 函数按元素返回参数的倒数。
语法
numpy.reciprocal(x, out=None, dtype=None)
参数
x | 必填。 指定输入数组。 |
out | 可选。 指定存储结果的位置。如果提供,它必须具有输入广播到的形状。如果未提供或没有提供,则返回新分配的数组。 |
dtype | 可选。 指定返回数组所需的数据类型。 |
示例:
下面的示例显示了reciprocal() 函数。
import numpy as np
Arr = np.array([[2,4],[5,10]])
print("Arr 为:")
print(Arr)
#Arr 的倒数
print("\nReciprocal array 为:")
print(np.reciprocal(Arr, dtype=float))
上述代码的输出将是:
Arr 为:
[[ 2 4]
[ 5 10]]
Reciprocal array 为:
[[0.5 0.25]
[0.2 0.1 ]]
numpy.mod() 函数
numpy.mod() 函数返回除法的逐元素余数。
语法
numpy.mod(x1, x2, out=None)
参数
x1, x2 | 必填。 指定要除的数组:x1 作为被除数,x2 作为除数。如果 x1.shape != x2.shape,则它们必须可广播为通用形状。 |
out | 可选。 指定存储结果的位置。如果提供,它必须具有输入广播到的形状。如果未提供或没有,则返回新分配的数组。 |
示例:
下面的示例显示 mod() 函数的用法。
import numpy as np
Arr1 = np.array([[10,20,30],[40,50,60]])
Arr2 = np.array([[6,7,9]])
print("Arr1 为:")
print(Arr1)
print("\nArr2 为:")
print(Arr2)
#这里Arr1和Arr2是可广播的
#Arr1 除以 Arr2 的余数
print("\nmod(Arr1, Arr2) returns:")
print(np.mod(Arr1, Arr2))
上述代码的输出将是:
Arr1 为:
[[10 20 30]
[40 50 60]]
Arr2 为:
[[6 7 9]]
mod(Arr1, Arr2) returns:
[[4 6 3]
[4 1 6]]
numpy.power() 函数
numpy.power() 函数用于按元素计算第二个数组的第一个数组元素的幂。
语法
numpy.power(x, y, out=None)
参数
x | 必填。 指定第一个包含元素的数组(array_like)作为基础。 |
y | 必需。 指定包含指数元素的第二个数组(array_like)。如果 x.shape != y.shape,它们必须可广播为通用形状(成为输出的形状)。 |
out | 可选。 指定存储结果的位置。如果提供,它必须具有输入广播到的形状。如果未提供或无,则返回新分配的数组。 |
示例:
下面的示例显示了power()函数的用法。
import numpy as np
base = np.array([5, 6, 7])
exponent = np.array([0, 1, 2])
print("The power of values:")
print(np.power(base, exponent))
上述代码的输出将是:
The power of values:
[ 1 6 49]
处理复数
NumPy 包提供了以下可以在处理复数时使用的函数。
- real():返回复数参数的实部。
- imag():返回虚部复数参数的值。
- conjugate():按元素返回复数共轭。
- angle():返回复数参数的角度。
语法
numpy.real(z)
numpy.imag(z)
numpy.conjugate(z, out=None)
numpy.angle(z, deg=False)
参数
z | 必填。 指定输入数组。 |
deg | 可选。 如果为 True,则返回角度,如果为 False,则返回弧度(默认)。 |
out | 选修的。 指定存储结果的位置。如果提供,它必须具有输入广播到的形状。如果未提供或没有,则返回新分配的数组。 |
示例:
下面的示例显示了上面的用法
import numpy as np
Arr = np.array([[1+1j,1+2j],
[1+3j,1+4j]])
print("Arr 为:")
print(Arr)
#Arr 的实部
print("\nArr 的实部为:")
print(np.real(Arr))
#Arr 的虚部
print("\nArr 的虚部为:")
print(np.imag(Arr))
#Arr 的共轭
print("\nConjuagte of Arr 为:")
print(np.conjugate(Arr))
#计算Arr的角度
print("\nArr 的角度为:")
print(np.angle(Arr, deg=True))
上述代码的输出将是:
Arr 为:
[[1.+1.j 1.+2.j]
[1.+3.j 1.+4.j]]
Arr 的实部为:
[[1. 1.]
[1. 1.]]
Arr 的虚部为:
[[1. 2.]
[3. 4.]]
Arr 的共轭是:
[[1.-1.j 1.-2.j]
[1.-3.j 1.-4.j]]
Arr 的角度为:
[[45. 63.43494882]
[71.56505118 75.96375653]]