本文簡要介紹 python 語言中 numpy.lib.Arrayterator
的用法。
用法:
class numpy.lib.Arrayterator(var, buf_size=None)
大數組的緩衝迭代器。
Arrayterator
創建一個緩衝迭代器,用於讀取小的連續塊中的大數組。該類對於存儲在文件係統中的對象很有用。它允許對對象進行迭代沒有讀取內存中的所有內容;相反,小塊被讀取和迭代。Arrayterator
可與任何支持多維切片的對象一起使用。這包括 NumPy 數組,還包括來自 Scientific.IO.NetCDF 或 pynetcdf 的變量。- var: array_like
要迭代的對象。
- buf_size: 整數,可選
緩衝區大小。如果提供了buf_size,則將讀入內存的最大數據量為buf_size 個元素。默認為無,它將盡可能多的元素讀入內存。
參數:
注意:
該算法的工作原理是首先找到一個“running dimension”,沿著該“running dimension” 將提取塊。給定一個維度數組
(d1, d2, ..., dn)
,例如如果buf_size小於d1
,將使用第一個維度。另一方麵,如果,d1 < buf_size < d1*d2
將使用第二個維度,依此類推。沿著這個維度提取塊,當返回最後一個塊時,該過程從下一個維度繼續,直到所有元素都被讀取。例子:
>>> a = np.arange(3 * 4 * 5 * 6).reshape(3, 4, 5, 6) >>> a_itor = np.lib.Arrayterator(a, 2) >>> a_itor.shape (3, 4, 5, 6)
現在我們可以迭代
a_itor
,它將返回大小為 2 的數組。自從buf_size小於任何維度,第一個維度將首先迭代:>>> for subarr in a_itor: ... if not subarr.all(): ... print(subarr, subarr.shape) >>> # [[[[0 1]]]] (1, 1, 1, 2)
- var:
- buf_size:
- start:
- stop:
- step:
shape
要迭代的數組的形狀。
- numpy.lib.Arrayterator.flat
Arrayterator 對象的一維平麵迭代器。
屬性:
相關用法
- Python numpy lib.NumpyVersion用法及代碼示例
- Python numpy linalg.svd用法及代碼示例
- Python numpy linalg.pinv用法及代碼示例
- Python numpy linalg.eigh用法及代碼示例
- Python numpy linalg.tensorinv用法及代碼示例
- Python numpy linalg.LinAlgError用法及代碼示例
- Python numpy linalg.matrix_rank用法及代碼示例
- Python numpy linalg.solve用法及代碼示例
- Python numpy linalg.det用法及代碼示例
- Python numpy linspace用法及代碼示例
- Python numpy linalg.cond用法及代碼示例
- Python numpy linalg.inv用法及代碼示例
- Python numpy linalg.eig用法及代碼示例
- Python numpy linalg.lstsq用法及代碼示例
- Python numpy linalg.norm用法及代碼示例
- Python numpy linalg.slogdet用法及代碼示例
- Python numpy linalg.multi_dot用法及代碼示例
- Python numpy linalg.tensorsolve用法及代碼示例
- Python numpy linalg.qr用法及代碼示例
- Python numpy linalg.matrix_power用法及代碼示例
- Python numpy linalg.cholesky用法及代碼示例
- Python numpy linalg.eigvals用法及代碼示例
- Python numpy linalg.eigvalsh用法及代碼示例
- Python numpy legendre.legint用法及代碼示例
- Python numpy laguerre.lagone用法及代碼示例
注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.lib.Arrayterator。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。