Python 是否有一种numpy风格是将两个数组元素相乘?
下面是一个代码示例,该代码对两个不同大小的1D数组执行元素相乘,并返回一个新的所需2D数组:Python 是否有一种numpy风格是将两个数组元素相乘?,python,numpy,Python,Numpy,下面是一个代码示例,该代码对两个不同大小的1D数组执行元素相乘,并返回一个新的所需2D数组: a = np.array([1, 2, 3, 4]) b = np.array([1, 10, 100]) np.array(list(map(lambda a_i: a_i * b, a))) >>> array([[ 1, 10, 100], [ 2, 20, 200], [ 3, 30, 300], [
a = np.array([1, 2, 3, 4])
b = np.array([1, 10, 100])
np.array(list(map(lambda a_i: a_i * b, a)))
>>> array([[ 1, 10, 100],
[ 2, 20, 200],
[ 3, 30, 300],
[ 4, 40, 400]])
然而,我很好奇,有没有一个原生的numpy功能呢?您有两个选择:
import numpy as np
a = np.array([1, 2, 3, 4])
b = np.array([1, 10, 100])
c = a[:, None] * b
print(c)
d = np.outer(a, b)
print(d)
结果:
[[ 1 10 100]
[ 2 20 200]
[ 3 30 300]
[ 4 40 400]]
[[ 1 10 100]
[ 2 20 200]
[ 3 30 300]
[ 4 40 400]]
我想numpy.outer会有帮助的。看见