你搜索這個,你會發現好多都是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 聲明空數組詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網之家。
新聞熱點
疑難解答