numpy.fromfunction
numpy.fromfunction(function, shape, **kwargs)
Функция fromfunction() создает массив, выполняя функцию над каждым элементом.
-
- function - подлежащая выполнению функция
- Функция может содержать N параметров, при этом количество параметров определяет размерность выходного массива. Каждый из N параметров перебирает элементы вдоль определенной оси. Например, если мы используем два параметра, и указываем размеры массива (3, 3), то один из параметров пробегал бы значения массива
array([[0,0,0],[1,1,1],[2,2,2]])
, а другой значения массиваarray([[0,1,2],[0,1,2],[0,1,2],])
- shape - целое число, список или кортеж целых чисел
- Задает размеры необходимого массива.
- dtype - тип данных NumPy (необязательный)
- Определяет тип данных выходного массива.
-
- результат - массив NumPy
- Массив все элементы которого представляют собой результат работы указанной функции.
Примеры
>>> import numpy as np
>>>
>>> np.fromfunction(lambda x, y: x == y, (4,4), dtype = int)
array([[ True, False, False, False],
[False, True, False, False],
[False, False, True, False],
[False, False, False, True]], dtype=bool)
>>>
>>> np.fromfunction(lambda x, y: x + 0*y, (4,4), dtype = int)
array([[0, 0, 0, 0],
[1, 1, 1, 1],
[2, 2, 2, 2],
[3, 3, 3, 3]])
>>>
>>> np.fromfunction(lambda x, y: 0*x + y, (4,4), dtype = int)
array([[0, 1, 2, 3],
[0, 1, 2, 3],
[0, 1, 2, 3],
[0, 1, 2, 3]])
>>>
>>> np.fromfunction(lambda x, y: x + y, (4,4), dtype = int)
array([[0, 1, 2, 3],
[1, 2, 3, 4],
[2, 3, 4, 5],
[3, 4, 5, 6]])
>>>
>>> np.fromfunction(lambda x, y: x**2 + y**2, (4,4), dtype = int)
array([[ 0, 1, 4, 9],
[ 1, 2, 5, 10],
[ 4, 5, 8, 13],
[ 9, 10, 13, 18]])