File tree Expand file tree Collapse file tree 1 file changed +12
-8
lines changed
Expand file tree Collapse file tree 1 file changed +12
-8
lines changed Original file line number Diff line number Diff line change @@ -932,14 +932,18 @@ def stack_v3(frame: DataFrame, level: list[int]) -> Series | DataFrame:
932932 if len (frame .columns ) == 1 :
933933 data = frame .copy ()
934934 else :
935- # Take the data from frame corresponding to this idx value
936- if len (level ) == 1 :
937- idx = (idx ,)
938- gen = iter (idx )
939- column_indexer = tuple (
940- next (gen ) if k in set_levels else slice (None )
941- for k in range (frame .columns .nlevels )
942- )
935+ if not isinstance (frame .columns , MultiIndex ) and not isinstance (idx , tuple ):
936+ # GH#57750 - if the frame is an Index with tuples, .loc below will fail
937+ column_indexer = idx
938+ else :
939+ # Take the data from frame corresponding to this idx value
940+ if len (level ) == 1 :
941+ idx = (idx ,)
942+ gen = iter (idx )
943+ column_indexer = tuple (
944+ next (gen ) if k in set_levels else slice (None )
945+ for k in range (frame .columns .nlevels )
946+ )
943947 data = frame .loc [:, column_indexer ]
944948
945949 if len (level ) < frame .columns .nlevels :
You can’t perform that action at this time.
0 commit comments