numpy.ma.fromfunction#
- ma.fromfunction(function, shape, **dtype) = <numpy.ma.core._convert2ma object>#
通过对每个坐标执行函数来构造一个数组。
因此,结果数组在坐标
(x, y, z)
处具有值fn(x, y, z)
。- 参数:
- function可调用对象
该函数被调用 N 个参数,其中 N 是
shape
的秩。每个参数表示沿特定轴变化的数组的坐标。例如,如果shape
为(2, 2)
,则参数将为array([[0, 0], [1, 1]])
和array([[0, 1], [0, 1]])
- shape(N,) 整数元组
输出数组的形状,也决定了传递给 function 的坐标数组的形状。
- dtype数据类型,可选
传递给 function 的坐标数组的数据类型。默认情况下,
dtype
为 float。- like类数组对象,可选
参考对象,允许创建不是 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]])