dask.array.fromfunction
dask.array.fromfunction¶
- dask.array.fromfunction(func, chunks='auto', shape=None, dtype=None, **kwargs)[源代码]¶
通过在每个坐标上执行一个函数来构造一个数组。
此文档字符串是从 numpy.fromfunction 复制的。
Dask 版本可能存在一些不一致性。
因此,生成的数组在坐标
(x, y, z)
处具有值fn(x, y, z)
。- 参数
- 函数callable (Dask 不支持)
该函数使用 N 个参数调用,其中 N 是 shape 的秩。每个参数表示沿着特定轴变化的数组坐标。例如,如果 shape 是
(2, 2)
,那么参数将是array([[0, 0], [1, 1]])
和array([[0, 1], [0, 1]])
。- 形状(N,) 的整数元组
输出数组的形状,这也决定了传递给 function 的坐标数组的形状。
- dtype数据类型,可选
传递给 function 的坐标数组的 数据类型。默认情况下,dtype 是浮点型。
- 喜欢array_like, 可选 (Dask 不支持)
引用对象,以允许创建非 NumPy 数组的数组。如果作为
like
传递的类数组对象支持__array_function__
协议,结果将由它定义。在这种情况下,它确保创建一个与此参数传递的对象兼容的数组对象。1.20.0 新版功能.
- 返回
- fromfunction任何
对 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]])