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]])