numpy.fromiter #
- 麻木的。fromiter ( iter , dtype , count = -1 , * , like = None ) #
从可迭代对象创建一个新的一维数组。
- 参数:
- iter可迭代对象
为数组提供数据的可迭代对象。
- dtype数据类型
返回数组的数据类型。
版本 1.23 中进行了更改:现在支持对象和子数组数据类型(请注意,子数组数据类型的最终结果不是一维)。
- 计数int,可选
从iterable读取的项目数。默认为-1,表示读取所有数据。
- 类似array_like,可选
允许创建非 NumPy 数组的引用对象。如果传入的类似数组
like
支持__array_function__
协议,则结果将由它定义。在这种情况下,它确保创建一个与通过此参数传入的数组对象兼容的数组对象。1.20.0 版本中的新增功能。
- 返回:
- 输出数组
输出数组。
笔记
指定计数以提高性能。它允许
fromiter
预先分配输出数组,而不是根据需要调整其大小。例子
>>> iterable = (x*x for x in range(5)) >>> np.fromiter(iterable, float) array([ 0., 1., 4., 9., 16.])
精心构造的子数组数据类型将导致更高维度的结果:
>>> 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]])