(self, parent, dependents)
| 1092 | ) |
| 1093 | |
| 1094 | def _simplify_up(self, parent, dependents): |
| 1095 | from dask.dataframe.dask_expr._expr import Filter, Head, Tail |
| 1096 | |
| 1097 | if isinstance(parent, Head): |
| 1098 | return NFirst( |
| 1099 | self.frame, n=parent.n, _columns=self.by, ascending=self.ascending |
| 1100 | ) |
| 1101 | |
| 1102 | if isinstance(parent, Tail): |
| 1103 | return NLast( |
| 1104 | self.frame, n=parent.n, _columns=self.by, ascending=self.ascending |
| 1105 | ) |
| 1106 | |
| 1107 | if isinstance(parent, Filter) and self._filter_passthrough_available( |
| 1108 | parent, dependents |
| 1109 | ): |
| 1110 | return self._filter_simplification(parent) |
| 1111 | if isinstance(parent, Projection): |
| 1112 | columns = determine_column_projection( |
| 1113 | self, parent, dependents, additional_columns=self.by |
| 1114 | ) |
| 1115 | columns = _convert_to_list(columns) |
| 1116 | columns = [col for col in self.frame.columns if col in columns] |
| 1117 | if self.frame.columns == columns: |
| 1118 | return |
| 1119 | return type(parent)( |
| 1120 | type(self)(self.frame[columns], *self.operands[1:]), |
| 1121 | parent.operand("columns"), |
| 1122 | ) |
| 1123 | if ( |
| 1124 | isinstance(parent, Repartition) |
| 1125 | and parent.operand("new_partitions") is not None |
| 1126 | ): |
| 1127 | return type(self)( |
| 1128 | type(parent)(self.frame, *parent.operands[1:]), *self.operands[1:] |
| 1129 | ) |
| 1130 | |
| 1131 | |
| 1132 | class SetPartition(SetIndex): |
nothing calls this directly
no test coverage detected