[英]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.