@@ -650,24 +650,22 @@ def test_loc_slice(self):
650
650
expected = self .df .iloc [[2 , 3 , 4 ]]
651
651
tm .assert_frame_equal (result , expected )
652
652
653
- def test_reindexing_with_missing_values (self ):
653
+ @pytest .mark .parametrize (
654
+ "codes" , ([[0 , 0 , 1 , 1 ], [0 , 1 , 0 , 1 ]], [[0 , 0 , - 1 , 1 ], [0 , 1 , 0 , 1 ]])
655
+ )
656
+ def test_reindexing_with_missing_values (self , codes ):
654
657
# GH 24206
655
658
656
659
index = pd .MultiIndex (
657
- [pd .CategoricalIndex (["A" , "B" ]), pd .CategoricalIndex (["a" , "b" ])],
658
- [[0 , 0 , - 1 , 1 ], [0 , 1 , 0 , 1 ]],
660
+ [pd .CategoricalIndex (["A" , "B" ]), pd .CategoricalIndex (["a" , "b" ])], codes
659
661
)
660
662
data = {"col" : range (len (index ))}
661
663
df = DataFrame (data = data , index = index )
662
664
663
665
expected = pd .DataFrame (
664
666
{
665
- "level_0" : pd .Categorical .from_codes (
666
- [0 , 0 , 1 , 1 ], categories = ["A" , "B" ]
667
- ),
668
- "level_1" : pd .Categorical .from_codes (
669
- [0 , 1 , 0 , 1 ], categories = ["a" , "b" ]
670
- ),
667
+ "level_0" : pd .Categorical .from_codes (codes [0 ], categories = ["A" , "B" ]),
668
+ "level_1" : pd .Categorical .from_codes (codes [1 ], categories = ["a" , "b" ]),
671
669
"col" : range (4 ),
672
670
}
673
671
)
0 commit comments