def test_regular(): np_data = np.array([[1, 3, 5, 4, 2], [3, 7, 8, 2, 4], [2, 3, 1, 7, 7], [5, 1, 9, 10, 2]]) ak_data = ak.from_numpy(np_data) assert ak.ptp(ak_data, axis=1).tolist() == np.ptp(np_data, axis=1).tolist() assert ak.ptp(ak_data, axis=0).tolist() == np.ptp(np_data, axis=0).tolist() assert ak.ptp(ak_data) == np.ptp(np_data)
def test(): array = ak.Array([ [0, 1, None], [None, 3], [], None, [4, 5, None, 6], ]) assert ak.sum(array, axis=-1).tolist() == [ 1, # 0 + 1 3, # 3 0, # list is empty None, # list is missing 15, # 4 + 5 + 6 ] assert ak.sum(array, axis=-2).tolist() == [ 4, 9, 0, 6, # 0+4 # 1+3+5 # no data # 6 ] assert ak.min(array, axis=-1).tolist() == [ 0, # min([0, 1]) 3, # min([3]) None, # list is empty None, # list is missing 4, # min([4, 5, 6]) ] assert ak.min(array, axis=-2).tolist() == [ 0, 1, None, 6, # 0,4 # 1,3,5 # no data # 6 ] # first bug-fix: single '?' assert str(ak.min(array, axis=-1).type) == "5 * ?int64" # second bug-fix: correct mask_identity=False behavior assert ak.ptp(array, axis=-1).tolist() == [1, 0, None, None, 2] assert ak.ptp(array, axis=-1, mask_identity=False).tolist() == [1, 0, 0, None, 2] assert ak.ptp(array, axis=-2).tolist() == [4, 4, None, 0] assert ak.ptp(array, axis=-2, mask_identity=False).tolist() == [4, 4, 0, 0]
def test_jagged(): data = ak.Array([ [1, 3, 5, 4, 2], [], [2, 3, 1], [5], ]) assert ak.ptp(data, axis=1, mask_identity=False).tolist() == [4, 0, 2, 0] assert ak.ptp(data, axis=1).tolist() == [4, None, 2, 0] assert ak.ptp(data, axis=0).tolist() == [4, 0, 4, 0, 0] assert ak.ptp(data) == 4