numpy.ma.fromfunction#
-
ma.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: MaskedArray
Результат вызова функция возвращается напрямую. Поэтому форма
fromfunctionполностью определяется функция. Если функция возвращает скалярное значение, формаfromfunctionне будет соответствоватьshapeпараметр.
Примечания
Ключевые слова, кроме
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]])