ma.
fromfunction
通过对每个坐标执行函数来构造数组。
因此,结果数组具有一个值 fn(x, y, z) 在坐标上 (x, y, z) .
fn(x, y, z)
(x, y, z)
用n个参数调用函数,其中n是 shape . 每个参数表示沿特定轴变化的数组坐标。例如,如果 shape 是 (2, 2) ,则参数为 array([[0, 0], [1, 1]]) 和 array([[0, 1], [0, 1]])
shape
(2, 2)
array([[0, 0], [1, 1]])
array([[0, 1], [0, 1]])
输出数组的形状,它还确定传递给 function .
传递给的坐标数组的数据类型 function . 默认情况下, dtype 是浮标。
引用对象以允许创建非NumPy数组的数组。如果像这样的数组传入为 like 支持 __array_function__ 协议,结果将由它定义。在这种情况下,它确保创建与通过此参数传入的对象兼容的数组对象。
like
__array_function__
注解
这个 like 关键字是一个实验性的特性,有待接受 NEP 35 .
1.20.0 新版功能.
调用的结果 function 直接传回。因此形状 fromfunction 完全取决于 function . 如果 function 返回一个标量值,其形状为 fromfunction 不匹配 shape 参数。
参见
indices
meshgrid
笔记
关键词 dtype 被传递给 function .
实例
>>> 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]])