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。

likearray_like,選用

參考物件,允許建立非 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]])