def compress(self, nsamples=None): """Reduce the number of samples by discarding low-weights. Parameters ---------- neff: int, optional effective number of samples after compression. If not supplied, then reduce to the channel capacity (theoretical optimum compression). If <=0, then compress so that all weights are unity. """ i = compress_weights(self.weights, self._rand, nsamples) return self.repeat(i)
def compress(self, nsamples=None): """Reduce the number of samples by discarding low-weights. Parameters ---------- neff: int, optional effective number of samples after compression. If not supplied, then reduce to the channel capacity (theoretical optimum compression). If <=0, then compress so that all weights are unity. """ i = compress_weights(self.weights, self._rand, nsamples) data = np.repeat(self.values, i, axis=0) index = self.index.repeat(i) df = DataFrame(data=data, index=index, columns=self.columns) df.index = df.index.get_level_values('#') return df
def compress(self, nsamples=None): """Reduce the number of samples by discarding low-weights. Parameters ---------- neff: int, optional effective number of samples after compression. If not supplied, then reduce to the channel capacity (theoretical optimum compression). If <=0, then compress so that all weights are unity. """ i = compress_weights(self.weight, self._rand, nsamples) data = numpy.repeat(self.values, i, axis=0) index = numpy.repeat(self.index.values, i) df = pandas.DataFrame(data=data, index=index, columns=self.columns) if 'weight' in self: return df.drop(columns='weight') else: return df