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

Method _simplify_up

dask/dataframe/dask_expr/_expr.py:768–792  ·  view source on GitHub ↗
(self, parent, dependents)

Source from the content-addressed store, hash-verified

766 return mapped_func(*args, **kwargs)[post_projection]
767
768 def _simplify_up(self, parent, dependents):
769 if isinstance(parent, Projection) and self.required_columns is not None:
770 if missing := set(self.required_columns) - set(self.frame.columns):
771 raise KeyError(
772 f"Some elements of `required_columns` are missing: {missing}"
773 )
774
775 columns = determine_column_projection(
776 self, parent, dependents, additional_columns=self.required_columns
777 )
778 columns = [col for col in self.frame.columns if col in columns]
779
780 if columns == self.frame.columns:
781 # Don't add unnecessary Projections
782 return
783
784 return type(parent)(
785 type(self)(
786 self.frame[columns],
787 partial(self.projected_operation, self.func, parent.columns),
788 self.meta[parent.columns],
789 *self.operands[3:],
790 ),
791 *parent.operands[1:],
792 )
793
794
795def _get_meta_ufunc(dfs, args, func):

Callers

nothing calls this directly

Calls 2

setClass · 0.85

Tested by

no test coverage detected