numpy.fromiter#

numpy.fromiter(iter, dtype, count=-1, *, like=None)#

Create a new 1-dimensional array from an iterable object.

Parameters:
iteriterable object

An iterable object providing data for the array.

dtypedata-type

The data-type of the returned array.

在 1.23 版本发生变更: Object and subarray dtypes are now supported (note that the final result is not 1-D for a subarray dtype).

countint, optional

The number of items to read from iterable. The default is -1, which means all data is read.

likearray_like, optional

Reference object to allow the creation of arrays which are not NumPy arrays. If an array-like passed in as like supports the __array_function__ protocol, the result will be defined by it. In this case, it ensures the creation of an array object compatible with that passed in via this argument.

在 1.20.0 版本加入.

Returns:
outndarray

The output array.

Notes

Specify count to improve performance. It allows fromiter to pre-allocate the output array, instead of resizing it on demand.

Examples

>>> import numpy as np
>>> iterable = (x*x for x in range(5))
>>> np.fromiter(iterable, float)
array([  0.,   1.,   4.,   9.,  16.])

A carefully constructed subarray dtype will lead to higher dimensional results:

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