def test_chunks(): x = np.array([(int(i), float(i)) for i in range(100)], dtype=[('a', np.int32), ('b', np.float32)]) b = bcolz.ctable(x) assert count(chunks(b, chunksize=10)) == 10 assert (next(chunks(b, chunksize=10)) == x[:10]).all()
def into(_, data, filename=None, datapath=None, **kwargs): t = PyTables(filename, datapath=datapath, dshape=kwargs.get('dshape', discover(data))) for chunk in map(partial(into, np.ndarray), chunks(data)): into(t, chunk) return t
def test_into_chunks(): from blaze.compute.numpy import chunks, compute_up from blaze.compute.chunks import chunks, compute_up, ChunkIterator from blaze import into x = np.array([(int(i), float(i)) for i in range(100)], dtype=[('a', np.int32), ('b', np.float32)]) cs = chunks(x, chunksize=10) b1 = into(bcolz.ctable, ChunkIterator(cs)) b2 = into(bcolz.ctable, x) assert str(b1) == str(b2)
def into(coll, x, **kwargs): from blaze.bcolz import chunks for chunk in chunks(x): into(coll, chunk)
def into(bc, data, **kwargs): cs = chunks(data) bc = into(bc, next(cs)) for chunk in cs: bc.append(chunk) return bc
def test_chunks(): assert len(list(chunks(b, chunksize=2))) == 2 assert (next(chunks(b, chunksize=2)) == into(np.array(0), b)[:2]).all()