Numpy:将多列乘以一列

Liw*_*yen 4 python arrays numpy

我想将一个数组与两列和一列配对相乘:

import numpy as np

a=np.array([[1,2],[1,2]])
b=np.array([1,0])
Run Code Online (Sandbox Code Playgroud)

我想要输出:

c=[[1,2][0,0]]
Run Code Online (Sandbox Code Playgroud)

这怎么可能?

此致!

Aus*_*tin 5

你可以使用以下方法来做到这一点numpy.newaxis

import numpy as np

a = np.array([[1,2],[1,2]])
b = np.array([1,0])
c = a * b[:, np.newaxis]

# [[1 2]
# [0 0]]                                                  
Run Code Online (Sandbox Code Playgroud)

或者你可以只使用:

c = a * b[:, None]
Run Code Online (Sandbox Code Playgroud)

这是因为newaxis是 的别名None