希望更简单地将二维矩形数组乘以一维常数向量

wish to more simply multiply a 2D rectangular array by a 1D constant vector

我在名为 拉丁语:

lat=range(90,-91,-1)

latcos=numpy.cos(numpy.deg2rad(lat))

rect_array=numpy.zeros(181,361)

#comment: not shown here but rect_array gets assigned some interesting values.

我希望将 rect_array 的每一列(包含 181 个元素)逐个元素乘以 latcos,并对 381 列中的每一列执行此操作。

ipython 喜欢单列的这种语法

new_partial_rect_array=latcos*rect_array[0:,0]

并且喜欢这种语法来处理整个数组

for i in range(361): New_rect_array[0:,i]=latcos*rect_array[0:,i]

但是python不喜欢

New_rect_array=latcos*rect_array

ValueError: 操作数无法与形状 (181,) (​​181,361) 一起广播

必须有一种更简单的方法可以在没有 for 语句的情况下对整个矩形矩阵(每列)进行稍后的乘法运算,但我对 python 还不够熟悉,还不知道该怎么做.

提前致谢

好的 - 很简单,有点像:

numpy.transpose(numpy.transpose(rect_array) * latcos)

我以为我可以只用一个转置,但似乎我需要两个。