Exemple #1
0
    def downsample(self, target, **kwargs):
        """ Downsample Fex columns. Relies on nltools.stats.downsample,
           but ensures that returned object is a Fex object.

        Args:
            target(float): downsampling target, typically in samples not
                            seconds
            kwargs: additional inputs to nltools.stats.downsample

        """

        df_ds = downsample(self,
                           sampling_freq=self.sampling_freq,
                           target=target,
                           **kwargs)
        if self.features is not None:
            ds_features = downsample(self.features,
                                     sampling_freq=self.sampling_freq,
                                     target=target,
                                     **kwargs)
        else:
            ds_features = self.features
        return self.__class__(df_ds,
                              sampling_freq=target,
                              features=ds_features)
    def downsample(self, target, **kwargs):
        """Downsample columns of design matrix. Relies on
            nltools.stats.downsample, but ensures that returned object is a
            design matrix.

        Args:
            target(float): desired frequency in hz
            kwargs: additional inputs to nltools.stats.downsample

        """
        if target > self.sampling_freq:
            raise ValueError(
                "Target must be longer than current sampling rate")

        df = Design_Matrix(
            downsample(self,
                       sampling_freq=self.sampling_freq,
                       target=target,
                       target_type='hz',
                       **kwargs))

        # convert df to a design matrix
        newMat = self._inherit_attributes(df)
        newMat.sampling_freq = target
        return newMat
def test_downsample():
    dat = pd.DataFrame()
    dat["x"] = range(0, 100)
    dat["y"] = np.repeat(range(1, 11), 10)
    assert (dat.groupby("y").mean().values.ravel() == downsample(
        data=dat["x"],
        sampling_freq=10,
        target=1,
        target_type="hz",
        method="mean").values).all
    assert (dat.groupby("y").median().values.ravel() == downsample(
        data=dat["x"],
        sampling_freq=10,
        target=1,
        target_type="hz",
        method="median").values).all
Exemple #4
0
def test_downsample():
    dat = pd.DataFrame()
    dat['x'] = range(0, 100)
    dat['y'] = np.repeat(range(1, 11), 10)
    assert ((dat.groupby('y').mean().values.ravel() == downsample(
        data=dat['x'],
        sampling_freq=10,
        target=1,
        target_type='hz',
        method='mean').values).all)
    assert ((dat.groupby('y').median().values.ravel() == downsample(
        data=dat['x'],
        sampling_freq=10,
        target=1,
        target_type='hz',
        method='median').values).all)