From a0ecaadbc9bf7503e8366908afc281e74e79cc24 Mon Sep 17 00:00:00 2001 From: Jixun Sun <160219251+AnonToky@users.noreply.github.com> Date: Wed, 19 Nov 2025 19:55:15 +0800 Subject: [PATCH 1/4] Fix MultiIndex zip with strict argument --- pandas/core/reshape/reshape.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pandas/core/reshape/reshape.py b/pandas/core/reshape/reshape.py index d78e97c6845fe..d7e55d55caae8 100644 --- a/pandas/core/reshape/reshape.py +++ b/pandas/core/reshape/reshape.py @@ -778,7 +778,8 @@ def _stack_multi_column_index(columns: MultiIndex) -> MultiIndex | Index: levs = ( [lev[c] if c >= 0 else None for c in codes] - for lev, codes in zip(columns.levels[:-1], columns.codes[:-1]) + for lev, codes in zip(columns.levels[:-1], columns.codes[:-1], strict-True) + ) # Remove duplicate tuples in the MultiIndex. @@ -792,7 +793,7 @@ def _stack_multi_column_index(columns: MultiIndex) -> MultiIndex | Index: [ # Not all indices can accept None values. Index(new_lev, dtype=lev.dtype) if None not in new_lev else new_lev - for new_lev, lev in zip(new_levs, columns.levels) + for new_lev, lev in zip(new_levs, columns.levels[:-1], strict=True) ], names=columns.names[:-1], ) From 8c76cc2b1d1d385ff5e43e99bcb60cfc276383b1 Mon Sep 17 00:00:00 2001 From: Jixun Sun <160219251+AnonToky@users.noreply.github.com> Date: Wed, 19 Nov 2025 20:02:20 +0800 Subject: [PATCH 2/4] Update reshape.py --- pandas/core/reshape/reshape.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/core/reshape/reshape.py b/pandas/core/reshape/reshape.py index d7e55d55caae8..92bb4d8315dc7 100644 --- a/pandas/core/reshape/reshape.py +++ b/pandas/core/reshape/reshape.py @@ -778,7 +778,7 @@ def _stack_multi_column_index(columns: MultiIndex) -> MultiIndex | Index: levs = ( [lev[c] if c >= 0 else None for c in codes] - for lev, codes in zip(columns.levels[:-1], columns.codes[:-1], strict-True) + for lev, codes in zip(columns.levels[:-1], columns.codes[:-1], strict=True) ) From 49d4535f4e2af36835a7065e0f28bfe6b40309a2 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 19 Nov 2025 12:08:26 +0000 Subject: [PATCH 3/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pandas/core/reshape/reshape.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pandas/core/reshape/reshape.py b/pandas/core/reshape/reshape.py index 92bb4d8315dc7..4781cb83c66d4 100644 --- a/pandas/core/reshape/reshape.py +++ b/pandas/core/reshape/reshape.py @@ -779,7 +779,6 @@ def _stack_multi_column_index(columns: MultiIndex) -> MultiIndex | Index: levs = ( [lev[c] if c >= 0 else None for c in codes] for lev, codes in zip(columns.levels[:-1], columns.codes[:-1], strict=True) - ) # Remove duplicate tuples in the MultiIndex. From 71d2c9707afef70c385ea3aca7e86293c33e66f7 Mon Sep 17 00:00:00 2001 From: Jixun Sun <160219251+AnonToky@users.noreply.github.com> Date: Tue, 25 Nov 2025 18:45:05 +0800 Subject: [PATCH 4/4] Fix zip argument to include all levels in reshape --- pandas/core/reshape/reshape.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/core/reshape/reshape.py b/pandas/core/reshape/reshape.py index 4781cb83c66d4..accb577d5345c 100644 --- a/pandas/core/reshape/reshape.py +++ b/pandas/core/reshape/reshape.py @@ -792,7 +792,7 @@ def _stack_multi_column_index(columns: MultiIndex) -> MultiIndex | Index: [ # Not all indices can accept None values. Index(new_lev, dtype=lev.dtype) if None not in new_lev else new_lev - for new_lev, lev in zip(new_levs, columns.levels[:-1], strict=True) + for new_lev, lev in zip(new_levs, columns.levels) ], names=columns.names[:-1], )