This question already has answers here:
numpy: multiply arrays rowwise
                                
                                    (4个答案)
                                
                        
                                2年前关闭。
            
                    
我想用一个两两列乘以一列pairweise来乘以一个数组:

import numpy as np

a=np.array([[1,2],[1,2]])
b=np.array([1,0])


我想要输出:

c=[[1,2][0,0]]


那怎么可能?

最好的祝福!

最佳答案

您可以使用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]]


或者,您可以使用:

c = a * b[:, None]


这是因为newaxisNone的别名。

关于python - numpy:将几列乘以一列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50001153/

10-16 23:16