numpy.compress#

numpy.compress(condition, a, axis=None, out=None)[source]#

沿給定軸返回陣列的選定切片。

當沿給定軸工作時,對於 condition 評估為 True 的每個索引,都會在 output 中返回沿該軸的切片。當處理一維陣列時,compress 等同於 extract

參數:
condition布林值的一維陣列

選擇要返回條目的陣列。如果 len(condition) 小於 a 沿給定軸的大小,則輸出將被截斷為 condition 陣列的長度。

a類陣列

从中提取部分的陣列。

axis整數,可選

要沿其取切片的軸。如果為 None(預設),則在扁平化的陣列上工作。

outndarray,可選

輸出陣列。其類型被保留,並且它必須具有正確的形狀以容納輸出。

返回:
compressed_arrayndarray

a 的副本,不包含 condition 為 false 的軸向切片。

參見

take, choose, diag, diagonal, select
ndarray.compress

ndarray 中的等效方法

extract

處理一維陣列時的等效方法

輸出類型判斷

範例

>>> import numpy as np
>>> a = np.array([[1, 2], [3, 4], [5, 6]])
>>> a
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> np.compress([0, 1], a, axis=0)
array([[3, 4]])
>>> np.compress([False, True, True], a, axis=0)
array([[3, 4],
       [5, 6]])
>>> np.compress([False, True], a, axis=1)
array([[2],
       [4],
       [6]])

在扁平化陣列上工作不會沿軸返回切片,而是選擇元素。

>>> np.compress([False, True], a)
array([2])