簡體   English   中英

如何在 numpy 數組中插入

[英]How to insert in numpy array

有兩個矩陣。 第一個是維度為(85,7794,64)的數據矩陣,第二個是維度為(85,7794)的閃爍。 我必須在下面代碼中提到的特定條件下根據閃爍矩陣提取部分數據。 條件性能毫無疑問,但是當我嘗試將提取的數據(維度為(20,64))插入到維度為(85,3600,64)(3600)的預定義存儲矩陣時,因為有 180 個維度的數據的 (20,64) 應該從數據中提取,所以 180*20 = 3600 ) 它給出了下面提到的錯誤。 謝謝,如果有人可以幫助解決它。

錯誤:

ValueError:無法將輸入數組從形狀(20,64)廣播到形狀(0,64)

storage_matrix = np.zeros((85,3600,64))


for i in range(0,84):    
    for j in range(0,7793):
        t = j + 1
        s = j + 20
        if Flashing[i,j] == 0 and Flashing[i,t] == 1:
            storage_matrix[i,j:s,:] = data[i,j:s,:]
            

您的內循環范圍太大。 考慮在內循環中當j>3600時會發生什么。

當您說storage_matrix[i, j:s, :]並且如果j>3600時,代碼會中斷,因為storage_matrix的中間維度的大小是 3600。這將返回一個空數組。 因此,您在錯誤消息中看到零維度。

不確定您在這里嘗試做什么,但也許您的意思是 3600 在您的內部循環中。

暫無
暫無

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

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