Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 14e32b5

Browse files
authoredOct 30, 2024
fix: Fix Series.to_frame generating string label instead of int where name is None (#1118)
1 parent 9867a78 commit 14e32b5

File tree

4 files changed

+13
-4
lines changed

4 files changed

+13
-4
lines changed
 

Diff for: ‎bigframes/core/indexers.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ def _perform_loc_list_join(
375375
if isinstance(series_or_dataframe, bigframes.series.Series):
376376
_struct_accessor_check_and_warn(series_or_dataframe, keys_index)
377377
original_name = series_or_dataframe.name
378-
name = series_or_dataframe.name if series_or_dataframe.name is not None else "0"
378+
name = series_or_dataframe.name if series_or_dataframe.name is not None else 0
379379
result = typing.cast(
380380
bigframes.series.Series,
381381
series_or_dataframe.to_frame()._perform_join_by_index(
@@ -468,7 +468,7 @@ def _iloc_getitem_series_or_dataframe(
468468
if isinstance(series_or_dataframe, bigframes.series.Series):
469469
original_series_name = series_or_dataframe.name
470470
series_name = (
471-
original_series_name if original_series_name is not None else "0"
471+
original_series_name if original_series_name is not None else 0
472472
)
473473
df = series_or_dataframe.to_frame()
474474
original_index_names = df.index.names

Diff for: ‎bigframes/series.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1651,7 +1651,7 @@ def to_frame(self, name: blocks.Label = None) -> bigframes.dataframe.DataFrame:
16511651
provided_name = name if name else self.name
16521652
# To be consistent with Pandas, it assigns 0 as the column name if missing. 0 is the first element of RangeIndex.
16531653
block = self._block.with_column_labels(
1654-
[provided_name] if provided_name else ["0"]
1654+
[provided_name] if provided_name else [0]
16551655
)
16561656
return bigframes.dataframe.DataFrame(block)
16571657

Diff for: ‎bigframes/session/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -922,7 +922,7 @@ def read_pickle(
922922

923923
if isinstance(pandas_obj, pandas.Series):
924924
if pandas_obj.name is None:
925-
pandas_obj.name = "0"
925+
pandas_obj.name = 0
926926
bigframes_df = self._read_pandas(pandas_obj.to_frame(), "read_pickle")
927927
return bigframes_df[bigframes_df.columns[0]]
928928
return self._read_pandas(pandas_obj, "read_pickle")

Diff for: ‎tests/system/small/test_series.py

+9
Original file line numberDiff line numberDiff line change
@@ -2790,6 +2790,15 @@ def test_to_frame(scalars_dfs):
27902790
assert_pandas_df_equal(bf_result, pd_result)
27912791

27922792

2793+
def test_to_frame_no_name(scalars_dfs):
2794+
scalars_df, scalars_pandas_df = scalars_dfs
2795+
2796+
bf_result = scalars_df["int64_col"].rename(None).to_frame().to_pandas()
2797+
pd_result = scalars_pandas_df["int64_col"].rename(None).to_frame()
2798+
2799+
assert_pandas_df_equal(bf_result, pd_result)
2800+
2801+
27932802
def test_to_json(gcs_folder, scalars_df_index, scalars_pandas_df_index):
27942803
path = gcs_folder + "test_series_to_json*.jsonl"
27952804
scalars_df_index["int64_col"].to_json(path, lines=True, orient="records")

0 commit comments

Comments
 (0)
Failed to load comments.