diff --git a/pandas-stubs/core/frame.pyi b/pandas-stubs/core/frame.pyi index 89d839f9e..6972bb223 100644 --- a/pandas-stubs/core/frame.pyi +++ b/pandas-stubs/core/frame.pyi @@ -160,8 +160,8 @@ class _LocIndexerFrame(_LocIndexer): | Callable[[DataFrame], IndexType | MaskType | list[HashableT]] | list[HashableT] | tuple[ - IndexType | MaskType | list[HashableT] | Hashable, - list[HashableT] | slice | Series[bool] | Callable, + Iterable[HashableT] | slice | Hashable, + list[HashableT] | Series[bool] | slice | Callable, ], ) -> DataFrame: ... @overload diff --git a/tests/test_frame.py b/tests/test_frame.py index c0dc5c7f4..e9093de13 100644 --- a/tests/test_frame.py +++ b/tests/test_frame.py @@ -2483,3 +2483,9 @@ def test_xs_frame_new() -> None: s2 = df.xs("num_wings", axis=1) check(assert_type(s1, Union[pd.Series, pd.DataFrame]), pd.DataFrame) check(assert_type(s2, Union[pd.Series, pd.DataFrame]), pd.Series) + + +def test_loc_tuple_slice_list() -> None: + """Test DataFrame.loc[index, columns].""" + foo = pd.DataFrame(np.random.rand(10, 3), columns=["a", "b", "c"]) + check(assert_type(foo.loc[4:5, ["a", "b"]], pd.DataFrame), pd.DataFrame)