diff --git a/modin/core/dataframe/algebra/binary.py b/modin/core/dataframe/algebra/binary.py index 8f86a6b18fa..b3d011dfff4 100644 --- a/modin/core/dataframe/algebra/binary.py +++ b/modin/core/dataframe/algebra/binary.py @@ -444,14 +444,12 @@ def apply( """ operator = cls.register(func, **kwargs) - func_args = tuple() if func_args is None else func_args - func_kwargs = dict() if func_kwargs is None else func_kwargs qc_result = operator( left._query_compiler, right._query_compiler, broadcast=right.ndim == 1, - *func_args, + *(func_args or ()), axis=axis, - **func_kwargs, + **(func_kwargs or {}), ) - return type(left)(query_compiler=qc_result) + return left.__constructor__(query_compiler=qc_result) diff --git a/modin/core/dataframe/algebra/fold.py b/modin/core/dataframe/algebra/fold.py index 82d868f9af2..3aeb1b60586 100644 --- a/modin/core/dataframe/algebra/fold.py +++ b/modin/core/dataframe/algebra/fold.py @@ -89,8 +89,5 @@ def apply(cls, df, func, fold_axis=0, func_args=None, func_kwargs=None): ------- the same type as `df` """ - func_args = tuple() if func_args is None else func_args - func_kwargs = dict() if func_kwargs is None else func_kwargs - func_args = (fold_axis,) + func_args - - return super().apply(df, func, func_args, func_kwargs) + func_args = (fold_axis,) + (func_args or ()) + return super().apply(df, func, func_args, func_kwargs or {}) diff --git a/modin/core/dataframe/algebra/groupby.py b/modin/core/dataframe/algebra/groupby.py index a45d7bdd410..f04b79e2af0 100644 --- a/modin/core/dataframe/algebra/groupby.py +++ b/modin/core/dataframe/algebra/groupby.py @@ -772,19 +772,15 @@ def apply( ------- The same type as `df`. """ - agg_args = tuple() if agg_args is None else agg_args - agg_kwargs = dict() if agg_kwargs is None else agg_kwargs - groupby_kwargs = dict() if groupby_kwargs is None else groupby_kwargs - operator = cls.register(map_func, reduce_func) qc_result = operator( df._query_compiler, df[by]._query_compiler, axis=0, - groupby_kwargs=groupby_kwargs, - agg_args=agg_args, - agg_kwargs=agg_kwargs, + groupby_kwargs=groupby_kwargs or {}, + agg_args=agg_args or (), + agg_kwargs=agg_kwargs or {}, drop=True, ) - return type(df)(query_compiler=qc_result) + return df.__constructor__(query_compiler=qc_result) diff --git a/modin/core/dataframe/algebra/operator.py b/modin/core/dataframe/algebra/operator.py index 344d160ed97..80458b0a3ce 100644 --- a/modin/core/dataframe/algebra/operator.py +++ b/modin/core/dataframe/algebra/operator.py @@ -84,9 +84,7 @@ def apply(cls, df, func, func_args=None, func_kwargs=None, **kwargs): return_type """ operator = cls.register(func, **kwargs) - - func_args = tuple() if func_args is None else func_args - func_kwargs = dict() if func_kwargs is None else func_kwargs - - qc_result = operator(df._query_compiler, *func_args, **func_kwargs) - return type(df)(query_compiler=qc_result) + qc_result = operator( + df._query_compiler, *(func_args or ()), **(func_kwargs or {}) + ) + return df.__constructor__(query_compiler=qc_result)