@@ -2664,18 +2664,21 @@ def test_pivot_columns_not_given(self):
2664
2664
with pytest .raises (TypeError , match = "missing 1 required keyword-only argument" ):
2665
2665
df .pivot ()
2666
2666
2667
- @pytest .mark .xfail (
2668
- using_string_dtype (), reason = "TODO(infer_string) None is cast to NaN"
2669
- )
2670
2667
def test_pivot_columns_is_none (self ):
2671
2668
# GH#48293
2672
- df = DataFrame ({ None : [ 1 ], "b" : 2 , "c" : 3 } )
2669
+ df = DataFrame ([[ 1 , 2 , 3 ]], columns = Index ([ None , "b" , "c" ], dtype = "object" ) )
2673
2670
result = df .pivot (columns = None )
2674
2671
expected = DataFrame ({("b" , 1 ): [2 ], ("c" , 1 ): 3 })
2672
+ expected .columns = expected .columns .set_levels (
2673
+ expected .columns .levels [0 ].astype (object ), level = 0
2674
+ )
2675
2675
tm .assert_frame_equal (result , expected )
2676
2676
2677
2677
result = df .pivot (columns = None , index = "b" )
2678
2678
expected = DataFrame ({("c" , 1 ): 3 }, index = Index ([2 ], name = "b" ))
2679
+ expected .columns = expected .columns .set_levels (
2680
+ expected .columns .levels [0 ].astype (object ), level = 0
2681
+ )
2679
2682
tm .assert_frame_equal (result , expected )
2680
2683
2681
2684
result = df .pivot (columns = None , index = "b" , values = "c" )
0 commit comments