2024-04-28 07:57:27 发布
网友
我有一个numpy 2d阵列:
[[1,1,1], [1,1,1], [1,1,1], [1,1,1]]
当2d数组的行长度小于1d数组的长度时,如何将索引从上到下乘以1d数组中的相应值?例如,用这个乘以上面的:
要得到这个:
[[10, 10, 10], [20, 20, 20], [30, 30, 30] [40, 40, 40]]
可能是复制品,但我找不到我要找的东西。提前谢谢。在
numpy中的*执行元素级乘法,例如将1d数组乘以另一个1d数组:
numpy
*
In [52]: np.array([3,4,5]) * np.array([1,2,3]) Out[52]: array([ 3, 8, 15])
当你把一个二维数组乘以一个一维数组时,二维数组的每一行都会发生同样的事情:
对于您的具体例子:
In [66]: ones = np.ones(12, dtype=np.int).reshape(4,3) In [67]: a = np.array([10, 20, 30, 40]) In [68]: (ones.T * a).T Out[68]: array([[10, 10, 10], [20, 20, 20], [30, 30, 30], [40, 40, 40]])
numpy
中的*
执行元素级乘法,例如将1d数组乘以另一个1d数组:当你把一个二维数组乘以一个一维数组时,二维数组的每一行都会发生同样的事情:
^{pr2}$对于您的具体例子:
相关问题 更多 >
编程相关推荐