From 08ad8716928c55cf559364c02b62117079f236a2 Mon Sep 17 00:00:00 2001 From: shirzady1934 Date: Wed, 12 Mar 2025 21:40:40 +0330 Subject: [PATCH 1/3] issue 1162 I change Hashable to HashableT in _LocIndexerFrame and it's fine --- pandas-stubs/core/frame.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas-stubs/core/frame.pyi b/pandas-stubs/core/frame.pyi index a508c1c1..11449493 100644 --- a/pandas-stubs/core/frame.pyi +++ b/pandas-stubs/core/frame.pyi @@ -185,7 +185,7 @@ class _LocIndexerFrame(_LocIndexer, Generic[_T]): IndexType | MaskType | Callable[[DataFrame], IndexType | MaskType | Sequence[Hashable]] - | list[Hashable] + | list[HashableT] | tuple[ IndexType | MaskType From 23f3d35cf17aa3500820b2e5093e897776d0ae03 Mon Sep 17 00:00:00 2001 From: shirzady1934 Date: Wed, 12 Mar 2025 23:20:56 +0330 Subject: [PATCH 2/3] issue 1162 added test_loc_list_str function for test loc issue with list of str's --- tests/test_frame.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/test_frame.py b/tests/test_frame.py index ae0c8bea..dbaca2f7 100644 --- a/tests/test_frame.py +++ b/tests/test_frame.py @@ -3585,6 +3585,16 @@ def test_in_columns() -> None: check(assert_type(df[cols], pd.DataFrame), pd.DataFrame) check(assert_type(df.groupby(by=cols).sum(), pd.DataFrame), pd.DataFrame) +def test_loc_list_str() -> None: + # GH 1162 (PR) + df = pd.DataFrame([[1, 2], [4, 5], [7, 8]], + index=['cobra', 'viper', 'sidewinder'], + columns=['max_speed', 'shield']) + + result = df.loc[['viper', 'sidewinder']] + check(assert_type(result, pd.DataFrame), pd.DataFrame) + + def test_insert_newvalues() -> None: df = pd.DataFrame({"a": [1, 2]}) From 938ab4195da1301b973cda072bfe9fae35437040 Mon Sep 17 00:00:00 2001 From: shirzady1934 Date: Wed, 12 Mar 2025 23:36:54 +0330 Subject: [PATCH 3/3] issue 1162 added test_loc_list_str function for test loc issue with list of str's and instlled pre-commit --- tests/test_frame.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tests/test_frame.py b/tests/test_frame.py index dbaca2f7..4d7171af 100644 --- a/tests/test_frame.py +++ b/tests/test_frame.py @@ -3585,17 +3585,19 @@ def test_in_columns() -> None: check(assert_type(df[cols], pd.DataFrame), pd.DataFrame) check(assert_type(df.groupby(by=cols).sum(), pd.DataFrame), pd.DataFrame) + def test_loc_list_str() -> None: # GH 1162 (PR) - df = pd.DataFrame([[1, 2], [4, 5], [7, 8]], - index=['cobra', 'viper', 'sidewinder'], - columns=['max_speed', 'shield']) + df = pd.DataFrame( + [[1, 2], [4, 5], [7, 8]], + index=["cobra", "viper", "sidewinder"], + columns=["max_speed", "shield"], + ) - result = df.loc[['viper', 'sidewinder']] + result = df.loc[["viper", "sidewinder"]] check(assert_type(result, pd.DataFrame), pd.DataFrame) - def test_insert_newvalues() -> None: df = pd.DataFrame({"a": [1, 2]}) ab = pd.DataFrame({"col1": [1, 2], "col2": [3, 4]})