numpy.fromiter#
- numpy.fromiter(iter, dtype, count=-1, *, like=None)#
从可迭代对象创建新的1维数组。
- 参数:
- iter可迭代对象
提供数组数据的可迭代对象。
- dtypedata-type
返回数组的数据类型。
版本1.23已更改: 现在支持对象和子数组的dtype(请注意,对于子数组dtype,最终结果不是1维)。
- countint, optional
从iterable读取的项目数。默认值为-1,表示读取所有数据。
- likearray_like, optional
用于创建非 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]])