NumPy | compress method
Start your free 7-days trial now!
NumPy's compress(~)
method extracts a subset of the input values based on the given condition.
NumPy's extract(~)
method is equivalent to the compress(~)
when the input array is 1D.
Parameters
1. condition
| array-like
of boolean
An array of booleans that indicate whether or not to set the value. If the size of condition is smaller than the input array a
, then output will be truncated so as to match the size of the condition.
2. a
| array-like
The input array.
3. axis
| int
| optional
The axis along which to extract the values. For 2D arrays, the allowed values are as follows:
Axis | Meaning |
---|---|
0 | Extraction is done row-wise. |
1 | Extraction is done column-wise. |
None | The input array is treated as a flattened array. |
By default, axis=None
.
4. out
| Numpy array
| optional
A NumPy array to place the extracted subset.
Return value
A new NumPy array holding a subset of input values.
Examples
Compressing a 1D array
np.compress([True, False, True, False], [4,5,6,7])
array([4, 6])
Notice that this is equivalent to the following:
array([4, 6])
Truncation
Truncation happens when the size of the condition array is smaller than that of the input array:
np.compress([True, False], a)
array([4])
Here, only the first two values in the array are considered - yet only first value is returned since the second value is flagged as False.
Compressing a 2D array
Consider the following 2D array:
a
array([[4, 5], [6, 7]])
Extracting from a flattened array
np.compress([True, False, False, True], a)
array([4, 7])
Extracting row-wise
np.compress([True, False], a, axis=0)
array([[4, 5]])
Extracting column-wise
np.compress([True, False], a, axis=1)
array([[4], [6]])