numpy.fromiter#

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

Создать новый одномерный массив из итерируемого объекта.

Параметры:
iterитерируемый объект

Итерируемый объект, предоставляющий данные для массива.

dtypeтип данных

Тип данных возвращаемого массива.

Изменено в версии 1.23: Типы данных объектов и подмассивов теперь поддерживаются (обратите внимание, что конечный результат не является 1-D для типа данных подмассива).

countint, необязательный

Количество элементов для чтения из итерируемый объект. По умолчанию -1, что означает чтение всех данных.

какarray_like, необязательный

Объект-ссылка, позволяющий создавать массивы, которые не являются массивами NumPy. Если массивоподобный объект, переданный как like поддерживает __array_function__ протокол, результат будет определен им. В этом случае он гарантирует создание объекта массива, совместимого с переданным через этот аргумент.

Новое в версии 1.20.0.

Возвращает:
выходndarray

Выходной массив.

Примечания

Укажите 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]])