def test_nelements_array(): t = Symbol('t', '5 * 4 * 3 * float64') x = np.random.randn(*t.shape) result = compute(t.nelements(axis=(0, 1)), x) np.testing.assert_array_equal(result, np.array([20, 20, 20])) result = compute(t.nelements(axis=1), x) np.testing.assert_array_equal(result, 4 * np.ones((5, 3)))
def test_nelements_records(recdata): s = Symbol('s', discover(recdata)) assert compute(s.nelements(), recdata) == np.prod(recdata.shape) np.testing.assert_array_equal(compute(s.nelements(axis=0), recdata), np.zeros(recdata.shape[1]) + recdata.shape[0])
by(t.name, t.amount.sum()): [], by(t.id, t.id.count()): [], by(t[['id', 'amount']], t.id.count()): [], by(t[['id', 'amount']], (t.amount + 1).sum()): [mongo], by(t[['id', 'amount']], t.name.nunique()): [mongo], by(t.id, t.amount.count()): [], by(t.id, t.id.nunique()): [mongo], # by(t, t.count()): [], # by(t.id, t.count()): [df], t[['amount', 'id']]: [x], # https://github.com/numpy/numpy/issues/3256 t[['id', 'amount']]: [x, bc], # bcolz sorting t[0]: [sql, mongo], t[::2]: [sql, mongo], t.id.utcfromtimestamp: [sql], t.distinct().nrows: [], t.nelements(axis=0): [], t.nelements(axis=None): [] } base = df def df_eq(a, b): return (list(a.columns) == list(b.columns) and list(a.dtypes) == list(b.dtypes) and into(set, into(list, a)) == into(set, into(list, b))) def typename(obj): return type(obj).__name__