From b54484e61b108869f97608b4e3d1b74ff39199f9 Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Mon, 13 May 2024 13:17:56 +0200 Subject: [PATCH] fixes Signed-off-by: Anatoly Myachev --- .../storage_formats/pandas/query_compiler.py | 5 ++--- modin/tests/pandas/utils.py | 20 ++++++++++++++++--- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/modin/core/storage_formats/pandas/query_compiler.py b/modin/core/storage_formats/pandas/query_compiler.py index 228a8b8ab38..358ae635d47 100644 --- a/modin/core/storage_formats/pandas/query_compiler.py +++ b/modin/core/storage_formats/pandas/query_compiler.py @@ -943,9 +943,8 @@ def compute_dtypes_fn(dtypes, axis, **kwargs): and any(is_bool_dtype(t) for t in dtypes) and any(is_numeric_dtype(t) for t in dtypes) ): - return np.object_ - # how to take into account backend here? - return np.float64 + return "object" + return "float64" return TreeReduce.register( map_fn, diff --git a/modin/tests/pandas/utils.py b/modin/tests/pandas/utils.py index 227c438ebba..6eac0dfceed 100644 --- a/modin/tests/pandas/utils.py +++ b/modin/tests/pandas/utils.py @@ -1087,14 +1087,24 @@ def eval_io_from_str(csv_str: str, unique_filename: str, **kwargs): ) -def create_test_dfs(*args, **kwargs) -> tuple[pd.DataFrame, pandas.DataFrame]: - post_fn = kwargs.pop("post_fn", lambda df: df) +def create_test_dfs( + *args, post_fn=None, backend=None, **kwargs +) -> tuple[pd.DataFrame, pandas.DataFrame]: + if backend is not None: + if post_fn is None: + post_fn = lambda df: df.convert_dtypes(dtype_backend=backend) # noqa: E731 + else: + post_fn = lambda df: post_fn(df).convert_dtypes( # noqa: E731 + dtype_backend=backend + ) return tuple( map(post_fn, [pd.DataFrame(*args, **kwargs), pandas.DataFrame(*args, **kwargs)]) ) -def create_test_series(vals, sort=False, **kwargs) -> tuple[pd.Series, pandas.Series]: +def create_test_series( + vals, sort=False, backend=None, **kwargs +) -> tuple[pd.Series, pandas.Series]: if isinstance(vals, dict): modin_series = pd.Series(vals[next(iter(vals.keys()))], **kwargs) pandas_series = pandas.Series(vals[next(iter(vals.keys()))], **kwargs) @@ -1104,6 +1114,10 @@ def create_test_series(vals, sort=False, **kwargs) -> tuple[pd.Series, pandas.Se if sort: modin_series = modin_series.sort_values().reset_index(drop=True) pandas_series = pandas_series.sort_values().reset_index(drop=True) + + if backend is not None: + modin_series = modin_series.convert_dtypes(dtype_backend=backend) + pandas_series = pandas_series.convert_dtypes(dtype_backend=backend) return modin_series, pandas_series