Python numpy.compress() Examples
The following are 30
code examples of numpy.compress().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
numpy
, or try the search function
.
Example #1
Source File: test_analytics.py From predictive-maintenance-using-machine-learning with Apache License 2.0 | 6 votes |
def test_numpy_compress(self): cond = [True, False, True, False, False] s = Series([1, -1, 5, 8, 7], index=list('abcde'), name='foo') expected = Series(s.values.compress(cond), index=list('ac'), name='foo') with tm.assert_produces_warning(FutureWarning, check_stacklevel=False): tm.assert_series_equal(np.compress(cond, s), expected) with tm.assert_produces_warning(FutureWarning, check_stacklevel=False): msg = "the 'axis' parameter is not supported" with pytest.raises(ValueError, match=msg): np.compress(cond, s, axis=1) msg = "the 'out' parameter is not supported" with pytest.raises(ValueError, match=msg): np.compress(cond, s, out=s)
Example #2
Source File: m_dens_elec_vec.py From pyscf with Apache License 2.0 | 6 votes |
def dens_elec_vec(sv, crds, dm): """ Compute the electronic density using vectorized oprators """ from pyscf.nao.m_rsphar_vec import rsphar_vec as rsphar_vec_python assert crds.ndim==2 assert crds.shape[-1]==3 nc = crds.shape[0] lmax = sv.ao_log.jmx for ia,[ra,sp] in enumerate(zip(sv.atom2coord,sv.atom2sp)): lngs = cdist(crds, sv.atom2coord[ia:ia+1,:]) bmask = lngs<sv.ao_log.sp2rcut[sp] crds_selec = compress(bmask[:,0], crds, axis=0) t1 = timer() rsh1 = rsphar_vec_python(crds_selec, lmax) t2 = timer(); print(t2-t1); t1 = timer() return 0
Example #3
Source File: data.py From lambda-packs with MIT License | 6 votes |
def _min_or_max_axis(self, axis, min_or_max): N = self.shape[axis] if N == 0: raise ValueError("zero-size array to reduction operation") M = self.shape[1 - axis] mat = self.tocsc() if axis == 0 else self.tocsr() mat.sum_duplicates() major_index, value = mat._minor_reduce(min_or_max) not_full = np.diff(mat.indptr)[major_index] < N value[not_full] = min_or_max(value[not_full], 0) mask = value != 0 major_index = np.compress(mask, major_index) value = np.compress(mask, value) from . import coo_matrix if axis == 0: return coo_matrix((value, (np.zeros(len(value)), major_index)), dtype=self.dtype, shape=(1, M)) else: return coo_matrix((value, (major_index, np.zeros(len(value)))), dtype=self.dtype, shape=(M, 1))
Example #4
Source File: sparsefuncs.py From Mastering-Elasticsearch-7.0 with MIT License | 6 votes |
def _min_or_max_axis(X, axis, min_or_max): N = X.shape[axis] if N == 0: raise ValueError("zero-size array to reduction operation") M = X.shape[1 - axis] mat = X.tocsc() if axis == 0 else X.tocsr() mat.sum_duplicates() major_index, value = _minor_reduce(mat, min_or_max) not_full = np.diff(mat.indptr)[major_index] < N value[not_full] = min_or_max(value[not_full], 0) mask = value != 0 major_index = np.compress(mask, major_index) value = np.compress(mask, value) if axis == 0: res = sp.coo_matrix((value, (np.zeros(len(value)), major_index)), dtype=X.dtype, shape=(1, M)) else: res = sp.coo_matrix((value, (major_index, np.zeros(len(value)))), dtype=X.dtype, shape=(M, 1)) return res.A.ravel()
Example #5
Source File: test_analytics.py From recruit with Apache License 2.0 | 6 votes |
def test_numpy_compress(self): cond = [True, False, True, False, False] s = Series([1, -1, 5, 8, 7], index=list('abcde'), name='foo') expected = Series(s.values.compress(cond), index=list('ac'), name='foo') with tm.assert_produces_warning(FutureWarning, check_stacklevel=False): tm.assert_series_equal(np.compress(cond, s), expected) with tm.assert_produces_warning(FutureWarning, check_stacklevel=False): msg = "the 'axis' parameter is not supported" with pytest.raises(ValueError, match=msg): np.compress(cond, s, axis=1) msg = "the 'out' parameter is not supported" with pytest.raises(ValueError, match=msg): np.compress(cond, s, out=s)
Example #6
Source File: test_dynamic_shape.py From onnx-tensorflow with Apache License 2.0 | 5 votes |
def test_compress(self): if legacy_opset_pre_ver(9): raise unittest.SkipTest( "ONNX version {} doesn't support Compress.".format( defs.onnx_opset_version())) axis = 1 node_def = helper.make_node("Compress", inputs=['X', 'condition'], outputs=['Y'], axis=axis) graph_def = helper.make_graph( [node_def], name="test_unknown_shape", inputs=[ helper.make_tensor_value_info("X", TensorProto.FLOAT, [None, None, None]), helper.make_tensor_value_info("condition", TensorProto.BOOL, [None]) ], outputs=[ helper.make_tensor_value_info("Y", TensorProto.FLOAT, [None, None, None]) ]) x = self._get_rnd_float32(shape=[5, 5, 5]) cond = np.array([1, 0, 1]) tf_rep = onnx_graph_to_tensorflow_rep(graph_def) output = tf_rep.run({"X": x, "condition": cond}) np.testing.assert_almost_equal(output['Y'], np.compress(cond, x, axis=axis))
Example #7
Source File: converter.py From Computable with MIT License | 5 votes |
def _set_default_format(self, vmin, vmax): "Returns the default ticks spacing." if self.plot_obj.date_axis_info is None: self.plot_obj.date_axis_info = self.finder(vmin, vmax, self.freq) info = self.plot_obj.date_axis_info if self.isminor: format = np.compress(info['min'] & np.logical_not(info['maj']), info) else: format = np.compress(info['maj'], info) self.formatdict = dict([(x, f) for (x, _, _, f) in format]) return self.formatdict
Example #8
Source File: functions.py From Computable with MIT License | 5 votes |
def compress(condition, m, axis=-1): return np.compress(condition, m, axis)
Example #9
Source File: indexing.py From cupy with MIT License | 5 votes |
def compress(condition, a, axis=None, out=None): """Returns selected slices of an array along given axis. Args: condition (1-D array of bools): Array that selects which entries to return. If len(condition) is less than the size of a along the given axis, then output is truncated to the length of the condition array. a (cupy.ndarray): Array from which to extract a part. axis (int): Axis along which to take slices. If None (default), work on the flattened array. out (cupy.ndarray): Output array. If provided, it should be of appropriate shape and dtype. Returns: cupy.ndarray: A copy of a without the slices along axis for which condition is false. .. warning:: This function may synchronize the device. .. seealso:: :func:`numpy.compress` """ return a.compress(condition, axis, out)
Example #10
Source File: indexing.py From cupy with MIT License | 5 votes |
def extract(condition, a): """Return the elements of an array that satisfy some condition. This is equivalent to ``np.compress(ravel(condition), ravel(arr))``. If ``condition`` is boolean, ``np.extract`` is equivalent to ``arr[condition]``. Args: condition (int or array_like): An array whose nonzero or True entries indicate the elements of array to extract. a (cupy.ndarray): Input array of the same size as condition. Returns: cupy.ndarray: Rank 1 array of values from arr where condition is True. .. warning:: This function may synchronize the device. .. seealso:: :func:`numpy.extract` """ if not isinstance(a, cupy.ndarray): raise TypeError('extract requires input array to be cupy.ndarray') if not isinstance(condition, cupy.ndarray): condition = cupy.array(condition) a = a.ravel() condition = condition.ravel() return a.take(condition.nonzero()[0])
Example #11
Source File: functions.py From Computable with MIT License | 5 votes |
def compress(condition, a, axis=0): return np.compress(condition, a, axis) # only returns a view
Example #12
Source File: test_analytics.py From predictive-maintenance-using-machine-learning with Apache License 2.0 | 5 votes |
def test_compress(self): cond = [True, False, True, False, False] s = Series([1, -1, 5, 8, 7], index=list('abcde'), name='foo') expected = Series(s.values.compress(cond), index=list('ac'), name='foo') with tm.assert_produces_warning(FutureWarning): result = s.compress(cond) tm.assert_series_equal(result, expected)
Example #13
Source File: test_node.py From onnx-tensorflow with Apache License 2.0 | 5 votes |
def test_compress(self): if legacy_opset_pre_ver(9): raise unittest.SkipTest( "ONNX version {} doesn't support Compress.".format( defs.onnx_opset_version())) axis = 1 node_def = helper.make_node("Compress", inputs=['X', 'condition'], outputs=['Y'], axis=axis) x = self._get_rnd_float32(shape=[5, 5, 5]) cond = np.array([1, 0, 1]) output = run_node(node_def, inputs=[x, cond]) np.testing.assert_almost_equal(output['Y'], np.compress(cond, x, axis=axis))
Example #14
Source File: test_analytics.py From vnpy_crypto with MIT License | 5 votes |
def test_numpy_compress(self): cond = [True, False, True, False, False] s = Series([1, -1, 5, 8, 7], index=list('abcde'), name='foo') expected = Series(s.values.compress(cond), index=list('ac'), name='foo') tm.assert_series_equal(np.compress(cond, s), expected) msg = "the 'axis' parameter is not supported" tm.assert_raises_regex(ValueError, msg, np.compress, cond, s, axis=1) msg = "the 'out' parameter is not supported" tm.assert_raises_regex(ValueError, msg, np.compress, cond, s, out=s)
Example #15
Source File: test_analytics.py From vnpy_crypto with MIT License | 5 votes |
def test_compress(self): cond = [True, False, True, False, False] s = Series([1, -1, 5, 8, 7], index=list('abcde'), name='foo') expected = Series(s.values.compress(cond), index=list('ac'), name='foo') tm.assert_series_equal(s.compress(cond), expected)
Example #16
Source File: test_nanfunctions.py From mxnet-lambda with Apache License 2.0 | 5 votes |
def test_small_large(self): # test the small and large code paths, current cutoff 400 elements for s in [5, 20, 51, 200, 1000]: d = np.random.randn(4, s) # Randomly set some elements to NaN: w = np.random.randint(0, d.size, size=d.size // 5) d.ravel()[w] = np.nan d[:,0] = 1. # ensure at least one good value # use normal median without nans to compare tgt = [] for x in d: nonan = np.compress(~np.isnan(x), x) tgt.append(np.median(nonan, overwrite_input=True)) assert_array_equal(np.nanmedian(d, axis=-1), tgt)
Example #17
Source File: test_numeric.py From mxnet-lambda with Apache License 2.0 | 5 votes |
def test_compress(self): arr = [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]] tgt = [[5, 6, 7, 8, 9]] out = np.compress([0, 1], arr, axis=0) assert_equal(out, tgt)
Example #18
Source File: compressed.py From lambda-packs with MIT License | 5 votes |
def _get_single_element(self, row, col): M, N = self.shape if (row < 0): row += M if (col < 0): col += N if not (0 <= row < M) or not (0 <= col < N): raise IndexError("index out of bounds: 0<=%d<%d, 0<=%d<%d" % (row, M, col, N)) major_index, minor_index = self._swap((row, col)) start = self.indptr[major_index] end = self.indptr[major_index + 1] if self.has_sorted_indices: # Copies may be made, if dtypes of indices are not identical minor_index = self.indices.dtype.type(minor_index) minor_indices = self.indices[start:end] insert_pos_left = np.searchsorted( minor_indices, minor_index, side='left') insert_pos_right = insert_pos_left + np.searchsorted( minor_indices[insert_pos_left:], minor_index, side='right') return self.data[start + insert_pos_left: start + insert_pos_right].sum(dtype=self.dtype) else: return np.compress(minor_index == self.indices[start:end], self.data[start:end]).sum(dtype=self.dtype)
Example #19
Source File: test_nanfunctions.py From Mastering-Elasticsearch-7.0 with MIT License | 5 votes |
def test_small_large(self): # test the small and large code paths, current cutoff 400 elements for s in [5, 20, 51, 200, 1000]: d = np.random.randn(4, s) # Randomly set some elements to NaN: w = np.random.randint(0, d.size, size=d.size // 5) d.ravel()[w] = np.nan d[:,0] = 1. # ensure at least one good value # use normal median without nans to compare tgt = [] for x in d: nonan = np.compress(~np.isnan(x), x) tgt.append(np.median(nonan, overwrite_input=True)) assert_array_equal(np.nanmedian(d, axis=-1), tgt)
Example #20
Source File: test_nanfunctions.py From pySINDy with MIT License | 5 votes |
def test_small_large(self): # test the small and large code paths, current cutoff 400 elements for s in [5, 20, 51, 200, 1000]: d = np.random.randn(4, s) # Randomly set some elements to NaN: w = np.random.randint(0, d.size, size=d.size // 5) d.ravel()[w] = np.nan d[:,0] = 1. # ensure at least one good value # use normal median without nans to compare tgt = [] for x in d: nonan = np.compress(~np.isnan(x), x) tgt.append(np.median(nonan, overwrite_input=True)) assert_array_equal(np.nanmedian(d, axis=-1), tgt)
Example #21
Source File: test_numeric.py From Mastering-Elasticsearch-7.0 with MIT License | 5 votes |
def test_compress(self): arr = [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]] tgt = [[5, 6, 7, 8, 9]] out = np.compress([0, 1], arr, axis=0) assert_equal(out, tgt)
Example #22
Source File: _converter.py From predictive-maintenance-using-machine-learning with Apache License 2.0 | 5 votes |
def _get_default_locs(self, vmin, vmax): "Returns the default locations of ticks." if self.plot_obj.date_axis_info is None: self.plot_obj.date_axis_info = self.finder(vmin, vmax, self.freq) locator = self.plot_obj.date_axis_info if self.isminor: return np.compress(locator['min'], locator['val']) return np.compress(locator['maj'], locator['val'])
Example #23
Source File: test_numeric.py From predictive-maintenance-using-machine-learning with Apache License 2.0 | 5 votes |
def test_compress(self): arr = [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]] tgt = [[5, 6, 7, 8, 9]] out = np.compress([0, 1], arr, axis=0) assert_equal(out, tgt)
Example #24
Source File: array_ops_test.py From trax with Apache License 2.0 | 5 votes |
def testCompress(self): def run_test(condition, arr, *args, **kwargs): for fn1 in self.array_transforms: for fn2 in self.array_transforms: arg1 = fn1(condition) arg2 = fn2(arr) self.match( array_ops.compress(arg1, arg2, *args, **kwargs), np.compress( np.asarray(arg1).astype(np.bool), arg2, *args, **kwargs)) run_test([True], 5) run_test([False], 5) run_test([], 5) run_test([True, False, True], [1, 2, 3]) run_test([True, False], [1, 2, 3]) run_test([False, True], [[1, 2], [3, 4]]) run_test([1, 0, 1], [1, 2, 3]) run_test([1, 0], [1, 2, 3]) run_test([0, 1], [[1, 2], [3, 4]]) run_test([True], [[1, 2], [3, 4]]) run_test([False, True], [[1, 2], [3, 4]], axis=1) run_test([False, True], [[1, 2], [3, 4]], axis=0) run_test([False, True], [[1, 2], [3, 4]], axis=-1) run_test([False, True], [[1, 2], [3, 4]], axis=-2)
Example #25
Source File: test_nanfunctions.py From GraphicDesignPatternByPython with MIT License | 5 votes |
def test_small_large(self): # test the small and large code paths, current cutoff 400 elements for s in [5, 20, 51, 200, 1000]: d = np.random.randn(4, s) # Randomly set some elements to NaN: w = np.random.randint(0, d.size, size=d.size // 5) d.ravel()[w] = np.nan d[:,0] = 1. # ensure at least one good value # use normal median without nans to compare tgt = [] for x in d: nonan = np.compress(~np.isnan(x), x) tgt.append(np.median(nonan, overwrite_input=True)) assert_array_equal(np.nanmedian(d, axis=-1), tgt)
Example #26
Source File: test_nanfunctions.py From predictive-maintenance-using-machine-learning with Apache License 2.0 | 5 votes |
def test_small_large(self): # test the small and large code paths, current cutoff 400 elements for s in [5, 20, 51, 200, 1000]: d = np.random.randn(4, s) # Randomly set some elements to NaN: w = np.random.randint(0, d.size, size=d.size // 5) d.ravel()[w] = np.nan d[:,0] = 1. # ensure at least one good value # use normal median without nans to compare tgt = [] for x in d: nonan = np.compress(~np.isnan(x), x) tgt.append(np.median(nonan, overwrite_input=True)) assert_array_equal(np.nanmedian(d, axis=-1), tgt)
Example #27
Source File: test_numeric.py From GraphicDesignPatternByPython with MIT License | 5 votes |
def test_compress(self): arr = [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]] tgt = [[5, 6, 7, 8, 9]] out = np.compress([0, 1], arr, axis=0) assert_equal(out, tgt)
Example #28
Source File: compressed.py From GraphicDesignPatternByPython with MIT License | 5 votes |
def _get_single_element(self, row, col): M, N = self.shape if (row < 0): row += M if (col < 0): col += N if not (0 <= row < M) or not (0 <= col < N): raise IndexError("index out of bounds: 0<=%d<%d, 0<=%d<%d" % (row, M, col, N)) major_index, minor_index = self._swap((row, col)) start = self.indptr[major_index] end = self.indptr[major_index + 1] if self.has_sorted_indices: # Copies may be made, if dtypes of indices are not identical minor_index = self.indices.dtype.type(minor_index) minor_indices = self.indices[start:end] insert_pos_left = np.searchsorted( minor_indices, minor_index, side='left') insert_pos_right = insert_pos_left + np.searchsorted( minor_indices[insert_pos_left:], minor_index, side='right') return self.data[start + insert_pos_left: start + insert_pos_right].sum(dtype=self.dtype) else: return np.compress(minor_index == self.indices[start:end], self.data[start:end]).sum(dtype=self.dtype)
Example #29
Source File: test_extra_ops.py From attention-lvcsr with MIT License | 5 votes |
def test_op(self): for axis, cond, shape in zip(self.axis_list, self.cond_list, self.shape_list): cond_var = theano.tensor.ivector() data = numpy.random.random(size=shape).astype(theano.config.floatX) data_var = theano.tensor.matrix() f = theano.function([cond_var, data_var], self.op(cond_var, data_var, axis=axis)) expected = numpy.compress(cond, data, axis=axis) tested = f(cond, data) assert tested.shape == expected.shape assert numpy.allclose(tested, expected)
Example #30
Source File: extra_ops.py From attention-lvcsr with MIT License | 5 votes |
def compress(condition, x, axis=None): """ Return selected slices of an array along given axis. It returns the input tensor, but with selected slices along a given axis retained. If no axis is provided, the tensor is flattened. Corresponds to numpy.compress .. versionadded:: 0.7 Parameters ---------- x Input data, tensor variable. condition 1 dimensional array of non-zero and zero values corresponding to indices of slices along a selected axis. Returns ------- object `x` with selected slices. """ indices = theano.tensor.basic.flatnonzero(condition) return x.take(indices, axis=axis)