numpy.fromiter#
- numpy.fromiter(iter, dtype, count=-1, *, like=None)#
從可迭代物件建立新的 1 維陣列。
- 參數:
- iter可迭代物件
提供陣列資料的可迭代物件。
- dtype資料型別
傳回陣列的資料型別。
在 1.23 版本變更: 現在支援物件和子陣列 dtype(請注意,對於子陣列 dtype,最終結果不是 1 維)。
- count整數,可選
要從 iterable 讀取的項目數量。預設值為 -1,表示讀取所有資料。
- likearray_like,可選
參考物件,允許建立非 NumPy 陣列的陣列。如果作為
like
傳入的類陣列物件支援__array_function__
協定,則結果將由它定義。在這種情況下,它確保建立與透過此引數傳入的物件相容的陣列物件。在 1.20.0 版本中新增。
- 傳回值:
- outndarray
輸出陣列。
註解
指定 count 以改善效能。它允許
fromiter
預先分配輸出陣列,而不是在需要時調整其大小。範例
>>> import numpy as np >>> iterable = (x*x for x in range(5)) >>> np.fromiter(iterable, float) array([ 0., 1., 4., 9., 16.])
仔細建構的子陣列 dtype 將導致更高維度的結果
>>> iterable = ((x+1, x+2) for x in range(5)) >>> np.fromiter(iterable, dtype=np.dtype((int, 2))) array([[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]])