簡體   English   中英

將較小的np.array添加到較大的np.array

[英]add small np.array to larger np.array

R ,我可以輕松地將較小的向量添加到較大的向量(假設較大向量的長度是較小向量的長度的倍數)

a <- seq(1,10,1)
# [1]  1  2  3  4  5  6  7  8  9 10
b <- seq(1,2,1)
# [1] 1 2
a+b
# [1]  2  4  4  6  6  8  8 10 10 12

有沒有一種簡單的方法可以在Python做到這一點?

import numpy as np
a = np.arange(1, 10)
# array([1, 2, 3, 4, 5, 6, 7, 8, 9])
b = np.arange(1,4)
# array([1, 2, 3])

我嘗試了什么

a + b?
np.add(a, b)?

NumPy的不只是假設你可能要重復b將它添加到前a ,你必須告訴它自己做。

您可以執行此操作的系統稱為廣播 通過添加長度與b完全相同的另一個軸來創建2D數組。 b添加到該2D數組中具有所需的行為。

然后,我們將陣列展平到1D。

(a.reshape(-1, len(b)) + b).ravel()

暫無
暫無

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

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