MCPcopy Create free account
hub / github.com/dask/dask / _simplify_up

Method _simplify_up

dask/dataframe/dask_expr/_shuffle.py:1094–1129  ·  view source on GitHub ↗
(self, parent, dependents)

Source from the content-addressed store, hash-verified

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
1132class SetPartition(SetIndex):

Callers

nothing calls this directly

Calls 7

NFirstClass · 0.90
NLastClass · 0.90
_convert_to_listFunction · 0.90
operandMethod · 0.80

Tested by

no test coverage detected