1. 程式人生 > 程式設計 >numpy 宣告空陣列詳解

numpy 宣告空陣列詳解

你搜索這個,你會發現好多都是np.zeros(5,2),嗯都是複製的一個國外的帖子,然而沒有翻譯人家的話。

然後你憤怒的關閉頁面。這簡直就是文不對題,這哪是空的。

實際上,numpy的陣列機制並不支援空陣列。(什麼鬼答案?)簡單來講就是numpy會申請連續的記憶體,如果頻繁改變大小,他就要頻繁申請新的記憶體。如果你會c語言知道指標的話,你很容易就能想到他不是list格式而是array格式。

如果你不會c語言,那麼也沒有關係。不影響。只需要記住,numpy的陣列一旦變動大小就會像搬家一樣大包小包的帶著自己的全部資料,拉家帶口的搬到新家,所以,才需要你一開始就將numpy陣列的大小設定好。

這也就意味著,你不能從空開始,一點點堆資料。但是你可以賦值

啊。

舉個例子:

sum = np.zeros(shape=(2284,1200))
for i in range(2284):
  pic_lab = mini_lab[i,:,:]
  pic_flatten = np.reshape(pic_lab,(1,1200))
  sum[i] = pic_flatten

一般我們都不會一點譜都沒有,真的沒譜的話,不如先用python的list,然後再用ndarray = np.array(list)轉換好了。

以上這篇numpy 宣告空陣列詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。