Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否有一种numpy风格是将两个数组元素相乘?_Python_Numpy - Fatal编程技术网

Python 是否有一种numpy风格是将两个数组元素相乘?

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], [

下面是一个代码示例,该代码对两个不同大小的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],
          [  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会有帮助的。看见