From 0db8cdb040467dd55d7641fdd65671756ec10484 Mon Sep 17 00:00:00 2001 From: Trevor Bergeron Date: Thu, 11 Jul 2024 21:51:18 +0000 Subject: [PATCH] fix: Fix unordered mode using ordered path to print frame --- bigframes/core/blocks.py | 7 +++++-- tests/system/small/test_unordered.py | 6 ++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/bigframes/core/blocks.py b/bigframes/core/blocks.py index fab0035e1a..c2bf20076a 100644 --- a/bigframes/core/blocks.py +++ b/bigframes/core/blocks.py @@ -498,7 +498,7 @@ def to_pandas( sampling_method: Optional[str] = None, random_state: Optional[int] = None, *, - ordered: bool = True, + ordered: Optional[bool] = None, ) -> Tuple[pd.DataFrame, bigquery.QueryJob]: """Run query and download results as a pandas DataFrame.""" if (sampling_method is not None) and (sampling_method not in _SAMPLING_METHODS): @@ -517,7 +517,10 @@ def to_pandas( df, query_job = self._materialize_local( materialize_options=MaterializationOptions( - downsampling=sampling, ordered=ordered + downsampling=sampling, + ordered=ordered + if ordered is not None + else self.session._strictly_ordered, ) ) df.set_axis(self.column_labels, axis=1, copy=False) diff --git a/tests/system/small/test_unordered.py b/tests/system/small/test_unordered.py index 36bf2a2585..4448ddc838 100644 --- a/tests/system/small/test_unordered.py +++ b/tests/system/small/test_unordered.py @@ -31,6 +31,12 @@ def test_unordered_mode_cache_aggregate(unordered_session): assert_pandas_df_equal(bf_result, pd_result, ignore_order=True) +def test_unordered_mode_print(unordered_session): + pd_df = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6]}, dtype=pd.Int64Dtype()) + df = bpd.DataFrame(pd_df, session=unordered_session).cache() + print(df) + + @skip_legacy_pandas def test_unordered_mode_read_gbq(unordered_session): df = unordered_session.read_gbq(