def test_pad(self): arrsize = 100 numrows = 20 ds = Dataset({'time': arange(arrsize * 1.0)}) ds.data = np.random.randint(numrows, size=arrsize) ds.data2 = np.random.randint(numrows, size=arrsize) symbols = ['ZYGO', 'YHOO', 'FB', 'GOOG', 'IBM'] ds.symbol2 = Cat(1 + ds.data, list('ABCDEFGHIJKLMNOPQRST')) ds.symbol = Cat(1 + arange(arrsize) % len(symbols), symbols) ds.time[[3, 4, 7]] = nan newds = ds.gb('symbol').pad() self.assertTrue(newds.time[7] == 2.00) self.assertTrue(newds.time[3] != newds.time[3]) newds = ds.gb('symbol').backfill() self.assertTrue(newds.time[7] == 12.00) # see if we can pull a group newds = ds.gb('symbol').get_group('YHOO') self.assertTrue(np.all(newds.symbol == 'YHOO'))
def test_add_dataset(self): arrsize = 200 numrows = 7 ds = Dataset({'time': np.arange(arrsize * 1.0)}) ds.data = np.random.randint(numrows, size=arrsize) ds.data2 = np.random.randint(numrows, size=arrsize) symbols = [ 'AAPL', 'AMZN', 'FB', 'GOOG', 'IBM', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', ] symbol2 = ['A', 'X', 'P', 'C', 'D', 'E', 'F', 'G', 'G', 'I', 'J', 'K'] ds.symbol2 = Cat(1 + np.arange(arrsize) % len(symbol2), symbol2) ds.symbol = Cat(1 + np.arange(arrsize) % len(symbols), symbols) x = ds.copy() del x.symbol del x.data del x.time x.label_set_names('data2') # now x has two columns, and one is labelled so adding an entire dataset should just add x.symbol2 ds.junk = x
def test_transform(self): arrsize = 200 numrows = 7 ds = Dataset({'time': arange(arrsize * 1.0)}) ds.data = np.random.randint(numrows, size=arrsize) ds.data2 = np.random.randint(numrows, size=arrsize) symbols = ['AAPL', 'AMZN', 'FB', 'GOOG', 'IBM'] ds.symbol = Cat(1 + arange(arrsize) % len(symbols), symbols) newds = ds.gb('symbol')['data'].sum(transform=True) # removed from test since gbkeys not returned in transform # self.assertTrue(np.all(newds.symbol == ds.symbol)) catds = ds.symbol.sum(ds.data, transform=True) self.assertTrue(np.all(newds[0] == catds[0])) # test showfilter catds = ds.symbol.sum(ds.data, showfilter=True, transform=True) self.assertTrue(np.all(newds[0] == catds[0])) # test diff result1 = ds.gb('symbol').apply_nonreduce(TypeRegister.FastArray.diff) result2 = ds.gb('symbol').diff() self.assertTrue(result1.equals(result2))