numpy.fromfunction#

numpy.fromfunction(функция, shape, *, dtype= 'float'>, like=None, **kwargs)[источник]#

Создаёт массив, выполняя функцию для каждой координаты.

Таким образом, результирующий массив имеет значение fn(x, y, z) в координате (x, y, z).

Параметры:
функцияcallable

Функция вызывается с N параметрами, где N — ранг shape. Каждый параметр представляет координаты массива, изменяющиеся вдоль определённой оси. Например, если shape были (2, 2), тогда параметры будут array([[0, 0], [1, 1]]) и array([[0, 1], [0, 1]])

shape(N,) кортеж целых чисел

Форма выходного массива, которая также определяет форму массивов координат, передаваемых в функция.

dtypeтип данных, опционально

Тип данных массивов координат, переданных в функция. По умолчанию, dtype является float.

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

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

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

Возвращает:
fromfunctionлюбой

Результат вызова функция возвращается напрямую. Поэтому форма fromfunction полностью определяется функция. Если функция возвращает скалярное значение, форма fromfunction не будет соответствовать shape параметр.

Смотрите также

indices, meshgrid

Примечания

Ключевые слова, кроме dtype и как передаются в функция.

Примеры

>>> import numpy as np
>>> np.fromfunction(lambda i, j: i, (2, 2), dtype=float)
array([[0., 0.],
       [1., 1.]])
>>> np.fromfunction(lambda i, j: j, (2, 2), dtype=float)
array([[0., 1.],
       [0., 1.]])
>>> np.fromfunction(lambda i, j: i == j, (3, 3), dtype=int)
array([[ True, False, False],
       [False,  True, False],
       [False, False,  True]])
>>> np.fromfunction(lambda i, j: i + j, (3, 3), dtype=int)
array([[0, 1, 2],
       [1, 2, 3],
       [2, 3, 4]])