def test_1d_6hourly_inclusive(self): """Should be the same as test_2h_inclusive""" df_lagged = rolling_mean(self.df.values, '1d', datafreq=6) nt.assert_array_equal(df_lagged[:3, ], np.nan, "leading lags should be NAN") nt.assert_array_equal(df_lagged[3:, ], 0.25, "Moving average should be constant 1/4")
def get_lagged_df(df, lags=['30min', '2h', '6h', '2d', '7d', '30d', '90d']): """Get lagged variants of variables""" data = {} for v in df.columns: data[v] = pd.DataFrame(np.concatenate( [rolling_mean(df[[v]].values, l) for l in lags], axis=1), columns=lags, index=df.index) return pd.concat(data, axis=1)
def test_2h_exclusive(self): df_lagged = rolling_mean(self.df.values, '2h', shift=1) nt.assert_array_equal(df_lagged[:4, ], np.nan, "leading lags should be NAN") nt.assert_array_equal(df_lagged[4:, ], 0.25, "Moving average should be constant 1/4")
def test_30m_exclusive(self): df_lagged = rolling_mean(self.df.values, '30min', shift=1) nt.assert_array_equal(df_lagged[:1, ], np.nan, "leading lags should be NAN") nt.assert_array_equal(df_lagged[1:, ], self.df.values[:-1, ], "lagged array should match, but doesn't")
def test_30m_inclusive(self): df_lagged = rolling_mean(self.df.values, '30min') nt.assert_array_equal(df_lagged, self.df.values, "arrays should match, but don't")