Функция fromiter
Функция fromiter создает одномерный массив NumPy
из любого итерируемого объекта. Первым параметром
функция принимает итератор или итерируемый объект.
Вторым параметром обязательно передается тип данных
элементов будущего массива. Третьим параметром можно
задать количество элементов, которое будет взято из итератора.
Синтаксис
np.fromiter(iterable, dtype, [count])
Пример
Давайте создадим массив из диапазона чисел с помощью функции range:
import numpy as np
arr = np.fromiter(range(1, 6), dtype=int)
print(arr)
Результат выполнения кода:
[1 2 3 4 5]
Пример
Давайте создадим массив из квадратов чисел с помощью генератора:
import numpy as np
def squares(n):
for i in range(n):
yield i ** 2
arr = np.fromiter(squares(5), dtype=int)
print(arr)
Результат выполнения кода:
[0 1 4 9 16]
Пример
Давайте укажем количество элементов, которое нужно взять из итератора:
import numpy as np
it = iter([10, 20, 30, 40, 50])
arr = np.fromiter(it, dtype=int, count=3)
print(arr)
Результат выполнения кода:
[10 20 30]
Пример
Давайте создадим массив с плавающими числами из списка:
import numpy as np
arr = np.fromiter([1.5, 2.7, 3.2, 4.8], dtype=float)
print(arr)
Результат выполнения кода:
[1.5 2.7 3.2 4.8]
Пример
Давайте создадим массив из строк с помощью генератора:
import numpy as np
gen = (chr(65 + i) for i in range(5))
arr = np.fromiter(gen, dtype='U1')
print(arr)
Результат выполнения кода:
['A' 'B' 'C' 'D' 'E']
Смотрите также
-
функцию
array,
которая создает массив из списка или кортежа -
функцию
fromfunction,
которая создает массив по заданной функции -
функцию
frombuffer,
которая создает массив из буфера данных -
функцию
fromstring,
которая создает массив из строки с данными