@@ -3737,13 +3737,25 @@ def test_xs_key() -> None:
37373737
37383738
37393739def test_loc_slice () -> None :
3740- # GH 277
3740+ """Test DataFrame.loc with a slice, Index, Series."""
3741+ # GH277
37413742 df1 = pd .DataFrame (
37423743 {"x" : [1 , 2 , 3 , 4 ]},
37433744 index = pd .MultiIndex .from_product ([[1 , 2 ], ["a" , "b" ]], names = ["num" , "let" ]),
37443745 )
37453746 check (assert_type (df1 .loc [1 , :], Union [pd .Series , pd .DataFrame ]), pd .DataFrame )
37463747
3748+ # GH1299
3749+ ind = pd .Index (["a" , "b" ])
3750+ mask = pd .Series ([True , False ])
3751+ mask_col = pd .Series ([True , False ], index = pd .Index (["a" , "b" ]))
3752+ df = pd .DataFrame ({"a" : [1 , 2 ], "b" : [3 , 4 ]})
3753+
3754+ # loc with index for columns
3755+ check (assert_type (df .loc [mask , ind ], pd .DataFrame ), pd .DataFrame )
3756+ # loc with index for columns
3757+ check (assert_type (df .loc [mask , mask_col ], pd .DataFrame ), pd .DataFrame )
3758+
37473759
37483760def test_where () -> None :
37493761 df = pd .DataFrame ({"a" : [1 , 2 , 3 ], "b" : [4 , 5 , 6 ]})
0 commit comments