numpy.ma.fromfunction#

ma.fromfunction(function, shape, *, dtype=<class 'float'>, like=None, **kwargs)[源代码]#

通过对每个坐标执行函数来构造数组。

因此,结果数组在坐标 (x, y, z) 处的值为 fn(x, y, z)

参数:
functioncallable

该函数将接收 N 个参数,其中 N 是 shape 的秩。每个参数代表沿着特定轴变化的数组的坐标。例如,如果 shape(2, 2),则参数将是 array([[0, 0], [1, 1]])array([[0, 1], [0, 1]])

shape(N,) tuple of ints

输出数组的形状,它也决定了传递给 function 的坐标数组的形状。

dtype数据类型,可选

传递给 function 的坐标数组的数据类型。默认情况下,dtype 为 float。

likearray_like, optional

用于创建非 NumPy 数组的引荐对象。如果传入的 like 支持 __array_function__ 协议,则结果将由它定义。在这种情况下,它确保创建与通过此参数传入的数组兼容的数组对象。

版本 1.20.0 中新增。

返回:
fromfunction: MaskedArray

传递回 function 的调用结果。因此,fromfunction 的形状完全由 function 决定。如果 function 返回一个标量值,fromfunction 的形状将不匹配 shape 参数。

另请参阅

indices, meshgrid

备注

除了 dtypelike 之外的其他关键字参数将传递给 function

示例

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