numpy.ma.MaskedArray.compress#

方法

ma.MaskedArray.compress(condition, axis=None, out=None)[原始碼]#

在 condition 為 True 的地方回傳 a

如果 condition 是 MaskedArray,則遺失值會被視為 False

參數:
conditionvar

布林值一維陣列,選取要回傳的項目。如果 len(condition) 小於沿軸 a 的大小,則輸出會被截斷為 condition 陣列的長度。

axis{None, int},選用

必須執行運算的軸。

out{None, ndarray},選用

用於放置結果的替代輸出陣列。它必須具有與預期輸出相同的形狀,但必要時會轉換型別。

回傳:
resultMaskedArray

MaskedArray 物件。

註解

請注意與 compressed 的差異!compress 的輸出有遮罩,而 compressed 的輸出則沒有。

範例

>>> import numpy as np
>>> x = np.ma.array([[1,2,3],[4,5,6],[7,8,9]], mask=[0] + [1,0]*4)
>>> x
masked_array(
  data=[[1, --, 3],
        [--, 5, --],
        [7, --, 9]],
  mask=[[False,  True, False],
        [ True, False,  True],
        [False,  True, False]],
  fill_value=999999)
>>> x.compress([1, 0, 1])
masked_array(data=[1, 3],
             mask=[False, False],
       fill_value=999999)
>>> x.compress([1, 0, 1], axis=1)
masked_array(
  data=[[1, 3],
        [--, --],
        [7, 9]],
  mask=[[False, False],
        [ True,  True],
        [False, False]],
  fill_value=999999)