您好,登錄后才能下訂單哦!
如何在NumPy中創建空數組/矩陣?
在添加行的情況下,你最好的選擇是創建一個與數據集最終一樣大的數組,然后向它添加數據 row-by-row:
>>> import numpy >>> a = numpy.zeros(shape=(5,2)) >>> a array([[ 0., 0.], [ 0., 0.], [ 0., 0.], [ 0., 0.], [ 0., 0.]]) >>> a[0] = [1,2] >>> a[1] = [2,3] >>> a array([[ 1., 2.], [ 2., 3.], [ 0., 0.], [ 0., 0.], [ 0., 0.]])
NumPy數組與列表是一個非常不同的數據結構,它被設計用于不同的方式。 你對 hstack的使用可能非常低效。 每次調用它時,現有數組中的所有數據都將復制到新數組中。 (append 函數會有同樣的問題。) 如果你想一次構建一個矩陣,最好把它放在一個列表中,直到它完成,然后將它轉換成數組。
mylist = [] for item in data: mylist.append(item) mat = numpy.array(mylist)
item 可以是列表,數組或者任何 iterable,只要每個 item 具有相同數量的元素。
在這種特殊情況下,你可以簡單地使用( data 是一些保存矩陣列的iterable )
mat = numpy.array(data)
(也請注意,使用 list 作為變量名可能不是好做法,因為它通過該名稱屏蔽內置類型,這可能導致 Bug 。)
以上這篇在NumPy中創建空數組/矩陣的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。