gpt4 book ai didi

arrays - numpy 乘以不同形状的数组

转载 作者:行者123 更新时间:2023-12-02 11:44:53 24 4
gpt4 key购买 nike

我有一个数组A形状(w,h) = 3000,2000和另一个数组 B形状d = 100

我想将 A 的每个值相乘通过B ,并以数组的形式得到结果 C形状(w,h,d) = 3000,2000,100

现在我正在使用下面非常慢的代码,如何向量化这个操作?

w,h,d = 3000,2000,100

A = np.ones((w,h))

B = np.arange(d)

C = np.zeros((w,h,d))

for i in xrange(w):
for j in xrange(h):
C[i,j] = A[i,j] * B

谢谢

最佳答案

使用numpy broadcast .

试试这个

from numpy.random import rand
a = rand(4,5)
b = rand(6)
c = a[...,None] * b
print (c.shape)

或者等价

c = a.reshape(4,5,1)*b

关于arrays - numpy 乘以不同形状的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38433069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com