@@ -281,6 +281,7 @@ def test_types_loc_at() -> None:
281
281
df .loc [0 , "col1" ]
282
282
283
283
284
+
284
285
def test_types_boolean_indexing () -> None :
285
286
df = pd .DataFrame (data = {"col1" : [1 , 2 ], "col2" : [3 , 4 ]})
286
287
check (assert_type (df [df > 1 ], pd .DataFrame ), pd .DataFrame )
@@ -3737,13 +3738,26 @@ def test_xs_key() -> None:
3737
3738
3738
3739
3739
3740
def test_loc_slice () -> None :
3740
- # GH 277
3741
+ """Test DataFrame.loc with a slice, Index, Series."""
3742
+ # GH277
3741
3743
df1 = pd .DataFrame (
3742
3744
{"x" : [1 , 2 , 3 , 4 ]},
3743
3745
index = pd .MultiIndex .from_product ([[1 , 2 ], ["a" , "b" ]], names = ["num" , "let" ]),
3744
3746
)
3745
3747
check (assert_type (df1 .loc [1 , :], Union [pd .Series , pd .DataFrame ]), pd .DataFrame )
3746
3748
3749
+ # GH1299
3750
+ ind = pd .Index (["a" , "b" ])
3751
+ mask = pd .Series ([True , False ])
3752
+ mask_col = pd .Series ([True , False ], index = pd .Index (["a" , "b" ]))
3753
+ df = pd .DataFrame ({"a" : [1 , 2 ], "b" : [3 , 4 ]})
3754
+
3755
+ # loc with index for columns
3756
+ check (assert_type (df .loc [mask , ind ], pd .DataFrame ), pd .DataFrame )
3757
+ # loc with index for columns
3758
+ check (assert_type (df .loc [mask , mask_col ], pd .DataFrame ), pd .DataFrame )
3759
+
3760
+
3747
3761
3748
3762
def test_where () -> None :
3749
3763
df = pd .DataFrame ({"a" : [1 , 2 , 3 ], "b" : [4 , 5 , 6 ]})
0 commit comments