From 8f9604b06abf3416de603dc4379e42fdcbb577a4 Mon Sep 17 00:00:00 2001 From: Larry Date: Sat, 9 Nov 2024 17:11:44 +0000 Subject: [PATCH 1/4] IndexSliceupdate --- pandas/core/indexing.py | 1 + pandas/tests/api/test_api.py | 1 + 2 files changed, 2 insertions(+) diff --git a/pandas/core/indexing.py b/pandas/core/indexing.py index 08bd3cde60806..16ab6ae160af7 100644 --- a/pandas/core/indexing.py +++ b/pandas/core/indexing.py @@ -98,6 +98,7 @@ # the public IndexSlicerMaker +@set_module("pandas") class _IndexSlice: """ Create an object to more easily perform multi-index slicing. diff --git a/pandas/tests/api/test_api.py b/pandas/tests/api/test_api.py index 842fa1a151267..9d248b67a60d1 100644 --- a/pandas/tests/api/test_api.py +++ b/pandas/tests/api/test_api.py @@ -416,3 +416,4 @@ def test_set_module(): assert pd.Period.__module__ == "pandas" assert pd.Timestamp.__module__ == "pandas" assert pd.Timedelta.__module__ == "pandas" + assert pd.IndexSlice.__module__ == "pandas" From fdb9f5cc3388fd20c445b4fe034f2d75861c9f04 Mon Sep 17 00:00:00 2001 From: Larry Date: Sat, 9 Nov 2024 17:16:15 +0000 Subject: [PATCH 2/4] add set_module to pandas.util._decorators --- pandas/core/indexing.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pandas/core/indexing.py b/pandas/core/indexing.py index 16ab6ae160af7..f556532703c24 100644 --- a/pandas/core/indexing.py +++ b/pandas/core/indexing.py @@ -24,7 +24,10 @@ LossySetitemError, ) from pandas.errors.cow import _chained_assignment_msg -from pandas.util._decorators import doc +from pandas.util._decorators import ( + doc, + set_module, +) from pandas.core.dtypes.cast import ( can_hold_element, From 269289cc3563afb9ba160f182fe7c6fafaa5d646 Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Tue, 12 Nov 2024 10:55:50 +0000 Subject: [PATCH 3/4] define instance at top level --- pandas/core/api.py | 4 +++- pandas/core/indexing.py | 4 +--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pandas/core/api.py b/pandas/core/api.py index c8a4e9d8a23b2..d7f40af5ef0fe 100644 --- a/pandas/core/api.py +++ b/pandas/core/api.py @@ -67,7 +67,7 @@ ) from pandas.core.indexes.period import period_range from pandas.core.indexes.timedeltas import timedelta_range -from pandas.core.indexing import IndexSlice +from pandas.core.indexing import IndexSlice as _IndexSlice from pandas.core.series import Series from pandas.core.tools.datetimes import to_datetime from pandas.core.tools.numeric import to_numeric @@ -79,6 +79,8 @@ # DataFrame needs to be imported after NamedAgg to avoid a circular import from pandas.core.frame import DataFrame # isort:skip +IndexSlice = _IndexSlice() + __all__ = [ "array", "ArrowDtype", diff --git a/pandas/core/indexing.py b/pandas/core/indexing.py index f556532703c24..978600af034db 100644 --- a/pandas/core/indexing.py +++ b/pandas/core/indexing.py @@ -102,7 +102,7 @@ # the public IndexSlicerMaker @set_module("pandas") -class _IndexSlice: +class IndexSlice: """ Create an object to more easily perform multi-index slicing. @@ -149,8 +149,6 @@ def __getitem__(self, arg): return arg -IndexSlice = _IndexSlice() - class IndexingMixin: """ From b4ca522f06e8b25ed5cc90110c88dd047bc91baf Mon Sep 17 00:00:00 2001 From: Simon Hawkins Date: Tue, 12 Nov 2024 11:45:20 +0000 Subject: [PATCH 4/4] lint --- pandas/core/indexing.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pandas/core/indexing.py b/pandas/core/indexing.py index 978600af034db..f6d7a8a7c63da 100644 --- a/pandas/core/indexing.py +++ b/pandas/core/indexing.py @@ -149,7 +149,6 @@ def __getitem__(self, arg): return arg - class IndexingMixin: """ Mixin for adding .loc/.iloc/.at/.iat to Dataframes and Series.