NumPy中不同形状数组的元素级乘法


要在Python NumPy中对不同形状的参数进行元素级乘法,请使用**numpy.multiply()**方法。

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("Array 1...
", arr1) print("
Array 2...
", arr2)

获取数组的类型:

print("
Our Array 1 type...
", arr1.dtype) print("
Our Array 2 type...
", arr2.dtype)

获取数组的维度:

print("
Our Array 1 Dimensions...
",arr1.ndim) print("
Our Array 2 Dimensions...
",arr2.ndim)

获取数组的形状:

print("
Our Array 1 Shape...
",arr1.shape) print("
Our Array 2 Shape...
",arr2.shape)

要在Python NumPy中对不同形状的参数进行元素级乘法,请使用numpy.multiply()方法:

print("
Result (multiply element-wise)...
",np.multiply(arr1, arr2))

示例

import numpy as np

# Create two arrays with different shapes
arr1 = np.arange(27.0).reshape((3, 3, 3))
arr2 = np.arange(9.0).reshape((3, 3))

# Display the arrays
print("Array 1...
", arr1) print("
Array 2...
", arr2) # Get the type of the arrays print("
Our Array 1 type...
", arr1.dtype) print("
Our Array 2 type...
", arr2.dtype) # Get the dimensions of the Arrays print("
Our Array 1 Dimensions...
",arr1.ndim) print("
Our Array 2 Dimensions...
",arr2.ndim) # Get the shape of the Arrays print("
Our Array 1 Shape...
",arr1.shape) print("
Our Array 2 Shape...
",arr2.shape) # To multiply arguments element-wise with different shapes, use the numpy.multiply() method in Python Numpy print("
Result (multiply element-wise)...
",np.multiply(arr1, arr2))

输出

Array 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.]]]

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

Our Array 1 type...
float64

Our Array 2 type...
float64

Our Array 1 Dimensions...
3

Our Array 2 Dimensions...
2

Our Array 1 Shape...
(3, 3, 3)

Our Array 2 Shape...
(3, 3)

Result (multiply element-wise)...
[[[ 0. 1. 4.]
[ 9. 16. 25.]
[ 36. 49. 64.]]

[[ 0. 10. 22.]
[ 36. 52. 70.]
[ 90. 112. 136.]]

[[ 0. 19. 40.]
[ 63. 88. 115.]
[144. 175. 208.]]]

更新于:2022年2月7日

2K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告