def test_base_tile(self): arr = np.arange(10) data = pd.Series(arr) bins = [0, 5, 10] ret = tile.tile(data, bins, infinite=False) ranges = list(ret.groups.keys()) counts = ret.count() correct = {} correct[0] = 5 correct[5] = 4 for r in ranges: assert correct[r.l] == counts[r]
def test_na_tile(self): """ Test where bins don't give full coverage """ correct = {} correct[0] = 5 correct[5] = 4 arr = np.arange(10) data = pd.Series(arr) bins = [0, 5] ret = tile.tile(data, bins, infinite=False) ranges = list(ret.groups.keys()) counts = ret.count() for r in ranges: assert correct[r.l] == counts[r]
def test_inf_tile(self): """ Support for [-inf, first] and [last, inf] """ correct = {} correct[-tile.inf] = 1 correct[2] = 2 correct[4] = 6 arr = np.arange(10) data = pd.Series(arr) bins = [2, 4] ret = tile.tile(data, bins) ranges = list(ret.groups.keys()) # verify infs exist lower_bounds = [r.l for r in ranges] for k,v in list(correct.items()): assert k in lower_bounds