(self)
| 1054 | return dtype |
| 1055 | |
| 1056 | def _lower(self): |
| 1057 | if self.frame.npartitions == 1: |
| 1058 | return SortValuesBlockwise( |
| 1059 | self.frame, self.sort_function, self.sort_function_kwargs |
| 1060 | ) |
| 1061 | |
| 1062 | _divisions_by = self.frame[self.by[0]] |
| 1063 | divisions, _, _, presorted = _get_divisions( |
| 1064 | self.frame, |
| 1065 | _divisions_by, |
| 1066 | self._npartitions_input, |
| 1067 | self._divisions_ascending, |
| 1068 | upsample=self.upsample, |
| 1069 | ) |
| 1070 | if presorted and self.npartitions == self.frame.npartitions: |
| 1071 | return SortValuesBlockwise( |
| 1072 | self.frame, self.sort_function, self.sort_function_kwargs |
| 1073 | ) |
| 1074 | |
| 1075 | partitions = _SetPartitionsPreSetIndex( |
| 1076 | _divisions_by, |
| 1077 | _divisions_by._meta._constructor(divisions).sort_values(), |
| 1078 | ascending=self._divisions_ascending, |
| 1079 | ) |
| 1080 | assigned = Assign(self.frame, "_partitions", partitions) |
| 1081 | shuffled = Shuffle( |
| 1082 | assigned, |
| 1083 | "_partitions", |
| 1084 | npartitions_out=len(divisions) - 1, |
| 1085 | ignore_index=self.ignore_index, |
| 1086 | method=self.shuffle_method, |
| 1087 | options=self.options, |
| 1088 | ) |
| 1089 | shuffled = Projection(shuffled, self.frame.columns) |
| 1090 | return SortValuesBlockwise( |
| 1091 | shuffled, self.sort_function, self.sort_function_kwargs |
| 1092 | ) |
| 1093 | |
| 1094 | def _simplify_up(self, parent, dependents): |
| 1095 | from dask.dataframe.dask_expr._expr import Filter, Head, Tail |
nothing calls this directly
no test coverage detected