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