@final
def get_group_levels(self) -> list[ArrayLike]:
    if (len(self.groupings) == 1):
        return [self.groupings[0].group_arraylike]
    name_list = []
    for (ping, codes) in zip(self.groupings, self.reconstructed_codes):
        codes = ensure_platform_int(codes)
        levels = ping.group_arraylike.take(codes)
        name_list.append(levels)
    return name_list
@final
def get_group_levels(self) -> list[ArrayLike]:
    if (len(self.groupings) == 1):
        return [self.groupings[0].group_arraylike]
    name_list = []
    for (ping, codes) in zip(self.groupings, self.reconstructed_codes):
        codes = ensure_platform_int(codes)
        levels = ping.group_arraylike.take(codes)
        name_list.append(levels)
    return name_list