簡體   English   中英

如何使用廣播對兩個不同形狀的 arrays 求和

[英]How to use broadcast to sum two different shape arrays

我有兩個 arrays 並想使用 numpy 廣播對它們求和。 這是第一個數組:

[4 6 2 1]

第二個:

[[ 5  4  56  45]
 [ 10  7  88  120]
 [69 9 70 1]]

如何使用 numpy 廣播將這兩個 arrays 相加? 我感謝您的幫助

更新

a = np.array(a)
A = np.array(A)

G = a + A

結果:

ValueError                                Traceback (most recent call last)
<ipython-input-47-4fac93342c82> in <module>()
      5 A = np.array(A)
      6 
----> 7 G = a + A
      8 #print(G)

ValueError: operands could not be broadcast together with shapes (4,) (3, 4) 

大概是這樣的:

import numpy as np

A = np.array([4, 6, 2, 1])
B = np.array([[ 5,  4,  56,  45],
 [ 10,  7,  88,  120],
 [69, 9, 70, 1]])

C = A + B
print(C)
>>> [[  9  10  58  46]
     [ 14  13  90 121]
     [ 73  15  72   2]]

你不需要改變形狀,numpy 它們已經可以廣播了。 你有A.shape = (4,)B.shape = (3, 4) 所以 numpy 將廣播到B的第一個維度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM