@@ -3737,13 +3737,25 @@ def test_xs_key() -> None:
3737
3737
3738
3738
3739
3739
def test_loc_slice () -> None :
3740
- # GH 277
3740
+ """Test DataFrame.loc with a slice, Index, Series."""
3741
+ # GH277
3741
3742
df1 = pd .DataFrame (
3742
3743
{"x" : [1 , 2 , 3 , 4 ]},
3743
3744
index = pd .MultiIndex .from_product ([[1 , 2 ], ["a" , "b" ]], names = ["num" , "let" ]),
3744
3745
)
3745
3746
check (assert_type (df1 .loc [1 , :], Union [pd .Series , pd .DataFrame ]), pd .DataFrame )
3746
3747
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
+
3747
3759
3748
3760
def test_where () -> None :
3749
3761
df = pd .DataFrame ({"a" : [1 , 2 , 3 ], "b" : [4 , 5 , 6 ]})
0 commit comments