當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy ma.array用法及代碼示例


本文簡要介紹 python 語言中 numpy.ma.array 的用法。

用法:

ma.array(data, dtype=None, copy=False, order=None, mask=False, fill_value=None, keep_mask=True, hard_mask=False, shrink=True, subok=True, ndmin=0)

具有可能被屏蔽的值的數組類。

True 的掩碼值將相應元素排除在任何計算之外。

建造:

x = MaskedArray(data, mask=nomask, dtype=None, copy=False, subok=True,
                ndmin=0, fill_value=None, keep_mask=True, hard_mask=None,
                shrink=True, order=None)

參數

data array_like

輸入數據。

mask 順序,可選

掩碼。必須可轉換為與數據具有相同形狀的布爾數組。 True 表示屏蔽(即無效)數據。

dtype dtype,可選

輸出的數據類型。如果 dtype 為 None,則使用數據參數 (data.dtype) 的類型。如果 dtype 不是 None 並且與 data.dtype 不同,則執行複製。

copy 布爾型,可選

是複製輸入數據 (True),還是使用引用。默認為假。

subok 布爾型,可選

是否返回 MaskedArray 的子類(如果可能)(真)或普通的 MaskedArray 。默認為真。

ndmin 整數,可選

最小維度數。默認值為 0。

fill_value 標量,可選

必要時用於填充掩碼值的值。如果沒有,則使用基於數據類型的默認值。

keep_mask 布爾型,可選

是否將掩碼與輸入數據的掩碼組合(如果有)(真),或者僅對輸出使用掩碼(假)。默認為真。

hard_mask 布爾型,可選

是否使用硬掩碼。使用硬掩碼,被掩碼的值不能被取消掩碼。默認為假。

shrink 布爾型,可選

是否強製壓縮空掩碼。默認為真。

order {‘C’, ‘F’, ‘A’},可選

指定數組的順序。如果 order 為“C”,則數組將按 C-contiguous 順序排列(last-index 變化最快)。如果 order 為“F”,則返回的數組將按 Fortran-contiguous 順序(first-index 變化最快)。如果 order 是“A”(默認),則返回的數組可以是任何順序(C-、Fortran-contiguous,甚至是不連續的),除非需要副本,在這種情況下它將是 C-contiguous。

例子

mask 可以使用與 data 形狀相同的布爾值數組進行初始化。

>>> data = np.arange(6).reshape((2, 3))
>>> np.ma.MaskedArray(data, mask=[[False, True, False],
...                               [False, False, True]])
masked_array(
  data=[[0, --, 2],
        [3, 4, --]],
  mask=[[False,  True, False],
        [False, False,  True]],
  fill_value=999999)

或者,mask 可以通過傳入一個標量布爾值初始化為具有與 data 相同形狀的同構布爾數組:

>>> np.ma.MaskedArray(data, mask=False)
masked_array(
  data=[[0, 1, 2],
        [3, 4, 5]],
  mask=[[False, False, False],
        [False, False, False]],
  fill_value=999999)
>>> np.ma.MaskedArray(data, mask=True)
masked_array(
  data=[[--, --, --],
        [--, --, --]],
  mask=[[ True,  True,  True],
        [ True,  True,  True]],
  fill_value=999999,
  dtype=int64)

注意

使用標量布爾值初始化 mask 的推薦做法是使用 True /False 而不是 np.True_ /np.False_ 。原因是 nomask 在內部表示為 np.False_

>>> np.False_ is np.ma.nomask
True

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.ma.array。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。