def test_category_continuous_interaction(): c = pd.Series(pd.Categorical([0, 0, 0, 1, 1, 1])) v = pd.Series(np.arange(6.0)) actual = category_continuous_interaction(c, v, precondition=False) expected = np.zeros((6, 2)) expected[:3, 0] = v[:3] expected[3:, 1] = v[3:] assert_allclose(actual.A, expected) actual = category_continuous_interaction(c, v, precondition=True) cond = np.sqrt((expected**2).sum(0)) expected /= cond assert_allclose(actual.A, expected)
def test_category_continuous_interaction_interwoven(): c = pd.Series(pd.Categorical([0, 1, 0, 1, 0, 1])) v = pd.Series(np.arange(6.0)) actual = category_continuous_interaction(c, v, precondition=False) expected = np.zeros((6, 2)) expected[::2, 0] = v[::2] expected[1::2, 1] = v[1::2] assert_allclose(actual.A, expected)