(self, data: DataFrame)
| 1333 | |
| 1334 | @final |
| 1335 | def _numba_prep(self, data: DataFrame): |
| 1336 | ngroups = self._grouper.ngroups |
| 1337 | sorted_index = self._grouper.result_ilocs |
| 1338 | sorted_ids = self._grouper._sorted_ids |
| 1339 | |
| 1340 | sorted_data = data.take(sorted_index, axis=0).to_numpy() |
| 1341 | # GH 46867 |
| 1342 | index_data = data.index |
| 1343 | if isinstance(index_data, MultiIndex): |
| 1344 | if len(self._grouper.groupings) > 1: |
| 1345 | raise NotImplementedError( |
| 1346 | "Grouping with more than 1 grouping labels and " |
| 1347 | "a MultiIndex is not supported with engine='numba'" |
| 1348 | ) |
| 1349 | group_key = self._grouper.groupings[0].name |
| 1350 | index_data = index_data.get_level_values(group_key) |
| 1351 | sorted_index_data = index_data.take(sorted_index).to_numpy() |
| 1352 | |
| 1353 | starts, ends = lib.generate_slices(sorted_ids, ngroups) |
| 1354 | return ( |
| 1355 | starts, |
| 1356 | ends, |
| 1357 | sorted_index_data, |
| 1358 | sorted_data, |
| 1359 | ) |
| 1360 | |
| 1361 | def _numba_agg_general( |
| 1362 | self, |
no test coverage detected