numpy.ma.diag#

ma.diag(v, k=0)[原始碼]#

提取對角線或建構對角陣列。

此函式等同於 numpy.diag,但會將遮罩值納入考量,詳情請參閱 numpy.diag

另請參閱

numpy.diag

ndarray 的等效函式。

範例

>>> import numpy as np

建立一個遮罩負值的陣列

>>> import numpy as np
>>> x = np.array([[11.2, -3.973, 18], [0.801, -1.41, 12], [7, 33, -12]])
>>> masked_x = np.ma.masked_array(x, mask=x < 0)
>>> masked_x
masked_array(
  data=[[11.2, --, 18.0],
        [0.801, --, 12.0],
        [7.0, 33.0, --]],
  mask=[[False,  True, False],
        [False,  True, False],
        [False, False,  True]],
  fill_value=1e+20)

從遮罩陣列中分離出主對角線

>>> np.ma.diag(masked_x)
masked_array(data=[11.2, --, --],
             mask=[False,  True,  True],
       fill_value=1e+20)

從主對角線下方分離出第一條對角線

>>> np.ma.diag(masked_x, -1)
masked_array(data=[0.801, 33.0],
             mask=[False, False],
       fill_value=1e+20)