def test_create_neighbor_features(self): df0 = pd.DataFrame(np.array([3, 6, 9, 6, 2, 3, 5, 7, 9, 0]), columns=('data',)) df1 = create_leadlag(df0, feature='data') df2 = create_neighbor_features(df1, feature='data') leadres = np.array([6.5, 6.1, 4.1, 3.4, 5, 5.9, 6.11, 5.14, 0, np.nan]) lagres = np.array([np.nan, 3., 4.71, 6.67, 6.6, 5., 3.9, 3.9, 5.1, 7.]) self.assertTrue(np.allclose(df2.lead, leadres, rtol=0.01, equal_nan=True)) self.assertTrue(np.allclose(df2.lag, lagres, rtol=0.01, equal_nan=True))
def test_create_neighbor_features(self): df0 = pd.DataFrame(np.array([3, 6, 9, 6, 2, 3, 5, 7, 9, 0]), columns=('data', )) df1 = create_leadlag(df0, feature='data') df2 = create_neighbor_features(df1, feature='data') leadres = np.array([6.5, 6.1, 4.1, 3.4, 5, 5.9, 6.11, 5.14, 0, np.nan]) lagres = np.array([np.nan, 3., 4.71, 6.67, 6.6, 5., 3.9, 3.9, 5.1, 7.]) self.assertTrue( np.allclose(df2.lead, leadres, rtol=0.01, equal_nan=True)) self.assertTrue(np.allclose(df2.lag, lagres, rtol=0.01, equal_nan=True))
def test_create_lead_lag(self): # Prepare test data X0 = np.random.randint(low=0, high=10, size=(10, 2)) y0 = np.random.randint(low=0, high=100, size=(10)) df0 = pd.DataFrame(np.hstack((y0.reshape(len(y0), 1), X0)), columns=('y', 'waittime', 'volume')) df = create_leadlag(df0) self.assertTrue((pd.isnull(df0.waittime.shift(-1)) | (df.waittime_lead_1 == df0.waittime.shift(-1))).all()) self.assertTrue((pd.isnull(df0.waittime.shift(-2)) | (df.waittime_lead_2 == df0.waittime.shift(-2))).all()) self.assertTrue((pd.isnull(df0.waittime.shift(1)) | (df.waittime_lag_1 == df0.waittime.shift(1))).all()) self.assertTrue((pd.isnull(df0.waittime.shift(2)) | (df.waittime_lag_2 == df0.waittime.shift(2))).all())
def test_create_lead_lag(self): # Prepare test data X0 = np.random.randint(low=0, high=10, size=(10, 2)) y0 = np.random.randint(low=0, high=100, size=(10)) df0 = pd.DataFrame(np.hstack((y0.reshape(len(y0), 1), X0)), columns=('y', 'waittime', 'volume')) df = create_leadlag(df0) self.assertTrue((pd.isnull(df0.waittime.shift(-1)) | (df.waittime_lead_1 == df0.waittime.shift(-1))).all()) self.assertTrue((pd.isnull(df0.waittime.shift(-2)) | (df.waittime_lead_2 == df0.waittime.shift(-2))).all()) self.assertTrue((pd.isnull(df0.waittime.shift(1)) | (df.waittime_lag_1 == df0.waittime.shift(1))).all()) self.assertTrue((pd.isnull(df0.waittime.shift(2)) | (df.waittime_lag_2 == df0.waittime.shift(2))).all())