1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
# BSD 3-Clause License; see https://github.com/scikit-hep/awkward/blob/main/LICENSE
from __future__ import annotations
import numpy as np
import pytest # noqa: F401
import awkward as ak
def test():
array = ak.from_numpy(np.arange(2 * 3 * 4 * 5, dtype=np.int64).reshape(2, 3, 4, 5))
assert array.type == ak.types.ArrayType(
ak.types.RegularType(
ak.types.RegularType(
ak.types.RegularType(ak.types.NumpyType("int64"), 5), 4
),
3,
),
2,
)
def apply(layout, **kwargs):
return
result_regular = ak.transform(
apply,
array,
numpy_to_regular=True,
)
assert result_regular.type == ak.types.ArrayType(
ak.types.RegularType(
ak.types.RegularType(
ak.types.RegularType(ak.types.NumpyType("int64"), 5), 4
),
3,
),
2,
)
result_ragged = ak.transform(
apply,
array,
regular_to_jagged=True,
numpy_to_regular=True,
)
assert result_ragged.type == ak.types.ArrayType(
ak.types.ListType(
ak.types.ListType(ak.types.ListType(ak.types.NumpyType("int64")))
),
2,
)
|