From 583ef5b1d50e730c3440ce8c98b585e9637db7b5 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 3 Jun 2026 23:24:42 +0000 Subject: [PATCH 1/2] fix: nameless column to_frame bug for pandas 3.0 --- packages/bigframes/bigframes/series.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/bigframes/bigframes/series.py b/packages/bigframes/bigframes/series.py index ebf32ac7850d..3db2cb2cb058 100644 --- a/packages/bigframes/bigframes/series.py +++ b/packages/bigframes/bigframes/series.py @@ -2280,11 +2280,14 @@ def mask(self, cond, other=None) -> Series: return self.where(~cond, other) def to_frame(self, name: blocks.Label = None) -> bigframes.dataframe.DataFrame: - provided_name = name if name else self.name + provided_name = name if name is not None else self.name # To be consistent with Pandas, it assigns 0 as the column name if missing. 0 is the first element of RangeIndex. - block = self._block.with_column_labels( - [provided_name] if provided_name else [0] - ) + column_names: List[blocks.Label] + if provided_name is None or pandas.isna(cast(Any, provided_name)): + column_names = [0] + else: + column_names = [provided_name] + block = self._block.with_column_labels(column_names) return bigframes.dataframe.DataFrame(block) def to_csv( From 249e463f463da21e27626bbd8935b2942e5e7c66 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 3 Jun 2026 16:55:12 -0700 Subject: [PATCH 2/2] Update packages/bigframes/bigframes/series.py Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- packages/bigframes/bigframes/series.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/bigframes/bigframes/series.py b/packages/bigframes/bigframes/series.py index 3db2cb2cb058..181bc4f63b2f 100644 --- a/packages/bigframes/bigframes/series.py +++ b/packages/bigframes/bigframes/series.py @@ -2283,7 +2283,7 @@ def to_frame(self, name: blocks.Label = None) -> bigframes.dataframe.DataFrame: provided_name = name if name is not None else self.name # To be consistent with Pandas, it assigns 0 as the column name if missing. 0 is the first element of RangeIndex. column_names: List[blocks.Label] - if provided_name is None or pandas.isna(cast(Any, provided_name)): + if provided_name is None or pandas.isna([cast(Any, provided_name)])[0]: column_names = [0] else: column_names = [provided_name]