在 Numpy 中对不同形状的参数进行逐元素减法

numpyserver side programmingprogramming更新于 2025/9/26 10:07:17

要对不同形状的参数进行逐元素减法,请使用 Python Numpy 中的 numpy.subtract() 方法。out 是存储结果的位置。如果提供,则必须具有输入广播到的形状。如果未提供或为 None,则返回一个新分配的数组。元组(只能作为关键字参数)的长度必须等于输出的数量。

条件通过输入进行广播。在条件为 True 的位置,out 数组将被设置为 ufunc 的结果。在其他位置,out 数组将保留其原始值。请注意,如果通过默认的 out=None 创建了未初始化的 out 数组,则其中条件为 False 的位置将保持未初始化状态。

NumPy 提供全面的数学函数、随机数生成器、线性代数例程、傅里叶变换等。它支持广泛的硬件和计算平台,并且与分布式、GPU 和稀疏阵列库配合良好。

步骤

首先,导入所需的库 −

import numpy as np

创建两个具有不同形状的数组 −

arr1 = np.arange(27.0).reshape((3, 3, 3))
arr2 = np.arange(9.0).reshape((3, 3))

显示数组 −

print("数组 1...
", arr1) print("
数组 2...
", arr2)

获取数组类型 −

print("
我们的数组 1 类型...
", arr1.dtype) print("
我们的数组 2 类型...
", arr2.dtype)

获取数组的维度 −

Get the dimensions of the Arrays:

获取数组的形状 −

print("
我们的数组 1 的形状...
",arr1.shape) print("
我们的数组 2 的形状...
",arr2.shape)

要对不同形状的参数逐个元素进行减法运算,请使用 Python Numpy 中的 numpy.subtract() 方法 −

print("
结果(逐个元素减法)...
",np.subtract(arr1, arr2))

示例

import numpy as np

# 创建两个不同形状的数组
arr1 = np.arange(27.0).reshape((3, 3, 3))
arr2 = np.arange(9.0).reshape((3, 3))

# 显示数组
print("数组 1...
", arr1) print("
数组 2...
", arr2) # 获取数组的类型 print("
数组 1 的类型...
", arr1.dtype) print("
数组 2 的类型...
", arr2.dtype) # 获取数组的维度s print("
数组 1 的维度...
",arr1.ndim) print("
数组 2 的维度...
",arr2.ndim) # 获取数组的形状 print("
数组 1 的形状...
",arr1.shape) print("
数组 2 的形状...
",arr2.shape) # 要对不同形状的参数逐元素进行减法,请使用 Python Numpy 中的 numpy.subtract() 方法 print("
结果(逐元素减法)...
",np.subtract(arr1, arr2))

输出

数组 1...
[[[ 0. 1. 2.]
[ 3. 4. 5.]
[ 6. 7. 8.]]

[[ 9. 10. 11.]
[12. 13. 14.]
[15. 16. 17.]]

[[18. 19. 20.]
[21. 22. 23.]
[24. 25. 26.]]]

数组 2...
[[0. 1. 2.]
[3. 4. 5.]
[6. 7. 8.]]

数组 1 的类型...
float64

数组 2 的类型...
float64

数组 1 的维度...
3

数组 2 的维度...
2

数组 1 的形状...
(3, 3, 3)

数组 2 的形状...
(3, 3)

结果(逐元素相减)...
[[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]]

[[ 9. 9. 9.]
[ 9. 9. 9.]
[ 9. 9. 9.]]

[[18. 18. 18.]
[18. 18. 18.]
[18. 18. 18.]]]

相关文章