numpy.ma.fromfunction#
- ma.fromfunction(function, shape, **dtype) = <numpy.ma.core._convert2ma object>#
通过对每个坐标执行一个函数来构造一个数组.
因此,结果数组在坐标
(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 的坐标数组的形状.
- dtypedata-type,可选
传递给 function 的坐标数组的数据类型. 默认情况下, dtype 为 float.
- likearray_like, optional
参考对象以允许创建非NumPy数组的数组. 如果作为
like传入的类数组支持__array_function__协议,则结果将由它定义. 在这种情况下,它可以确保创建与通过此参数传入的数组对象兼容的数组对象.在 1.20.0 版本加入.
- 返回:
- fromfunction: MaskedArray
对 function 调用的结果直接传递回来. 因此,
fromfunction的形状完全由 function 决定. 如果 function 返回一个标量值,那么fromfunction的形状将与shape参数不匹配.
注释
除了 dtype 和 like 之外的关键字被传递给 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]])