22
33from csv import QUOTE_NONNUMERIC
44from functools import partial
5+ import inspect
56import operator
67from shutil import get_terminal_size
78from typing import (
@@ -394,7 +395,7 @@ def __init__(
394395 "Allowing scalars in the Categorical constructor is deprecated "
395396 "and will raise in a future version. Use `[value]` instead" ,
396397 FutureWarning ,
397- stacklevel = find_stack_level (),
398+ stacklevel = find_stack_level (inspect . currentframe () ),
398399 )
399400 values = [values ]
400401
@@ -749,7 +750,7 @@ def categories(self, categories) -> None:
749750 "Setting categories in-place is deprecated and will raise in a "
750751 "future version. Use rename_categories instead." ,
751752 FutureWarning ,
752- stacklevel = find_stack_level (),
753+ stacklevel = find_stack_level (inspect . currentframe () ),
753754 )
754755
755756 self ._set_categories (categories )
@@ -873,7 +874,7 @@ def set_ordered(
873874 "a future version. setting ordered-ness on categories will always "
874875 "return a new Categorical object." ,
875876 FutureWarning ,
876- stacklevel = find_stack_level (),
877+ stacklevel = find_stack_level (inspect . currentframe () ),
877878 )
878879 else :
879880 inplace = False
@@ -1125,7 +1126,7 @@ def rename_categories(
11251126 "a future version. Removing unused categories will always "
11261127 "return a new Categorical object." ,
11271128 FutureWarning ,
1128- stacklevel = find_stack_level (),
1129+ stacklevel = find_stack_level (inspect . currentframe () ),
11291130 )
11301131 else :
11311132 inplace = False
@@ -1189,7 +1190,7 @@ def reorder_categories(self, new_categories, ordered=None, inplace=no_default):
11891190 "a future version. Reordering categories will always "
11901191 "return a new Categorical object." ,
11911192 FutureWarning ,
1192- stacklevel = find_stack_level (),
1193+ stacklevel = find_stack_level (inspect . currentframe () ),
11931194 )
11941195 else :
11951196 inplace = False
@@ -1273,7 +1274,7 @@ def add_categories(
12731274 "a future version. Removing unused categories will always "
12741275 "return a new Categorical object." ,
12751276 FutureWarning ,
1276- stacklevel = find_stack_level (),
1277+ stacklevel = find_stack_level (inspect . currentframe () ),
12771278 )
12781279 else :
12791280 inplace = False
@@ -1349,7 +1350,7 @@ def remove_categories(self, removals, inplace=no_default):
13491350 "a future version. Removing unused categories will always "
13501351 "return a new Categorical object." ,
13511352 FutureWarning ,
1352- stacklevel = find_stack_level (),
1353+ stacklevel = find_stack_level (inspect . currentframe () ),
13531354 )
13541355 else :
13551356 inplace = False
@@ -1437,7 +1438,7 @@ def remove_unused_categories(
14371438 "remove_unused_categories is deprecated and "
14381439 "will be removed in a future version." ,
14391440 FutureWarning ,
1440- stacklevel = find_stack_level (),
1441+ stacklevel = find_stack_level (inspect . currentframe () ),
14411442 )
14421443 else :
14431444 inplace = False
@@ -2046,7 +2047,7 @@ def to_dense(self) -> np.ndarray:
20462047 "Categorical.to_dense is deprecated and will be removed in "
20472048 "a future version. Use np.asarray(cat) instead." ,
20482049 FutureWarning ,
2049- stacklevel = find_stack_level (),
2050+ stacklevel = find_stack_level (inspect . currentframe () ),
20502051 )
20512052 return np .asarray (self )
20522053
@@ -2063,7 +2064,7 @@ def _codes(self, value: np.ndarray):
20632064 "Setting the codes on a Categorical is deprecated and will raise in "
20642065 "a future version. Create a new Categorical object instead" ,
20652066 FutureWarning ,
2066- stacklevel = find_stack_level (),
2067+ stacklevel = find_stack_level (inspect . currentframe () ),
20672068 ) # GH#40606
20682069 NDArrayBacked .__init__ (self , value , self .dtype )
20692070
@@ -2088,7 +2089,7 @@ def take_nd(
20882089 warn (
20892090 "Categorical.take_nd is deprecated, use Categorical.take instead" ,
20902091 FutureWarning ,
2091- stacklevel = find_stack_level (),
2092+ stacklevel = find_stack_level (inspect . currentframe () ),
20922093 )
20932094 return self .take (indexer , allow_fill = allow_fill , fill_value = fill_value )
20942095
@@ -2381,7 +2382,7 @@ def mode(self, dropna: bool = True) -> Categorical:
23812382 "Categorical.mode is deprecated and will be removed in a future version. "
23822383 "Use Series.mode instead." ,
23832384 FutureWarning ,
2384- stacklevel = find_stack_level (),
2385+ stacklevel = find_stack_level (inspect . currentframe () ),
23852386 )
23862387 return self ._mode (dropna = dropna )
23872388
@@ -2524,7 +2525,7 @@ def is_dtype_equal(self, other) -> bool:
25242525 "Categorical.is_dtype_equal is deprecated and will be removed "
25252526 "in a future version" ,
25262527 FutureWarning ,
2527- stacklevel = find_stack_level (),
2528+ stacklevel = find_stack_level (inspect . currentframe () ),
25282529 )
25292530 try :
25302531 return self ._categories_match_up_to_permutation (other )
@@ -2648,7 +2649,7 @@ def replace(self, to_replace, value, inplace: bool = False) -> Categorical | Non
26482649 "Categorical.replace is deprecated and will be removed in a future "
26492650 "version. Use Series.replace directly instead." ,
26502651 FutureWarning ,
2651- stacklevel = find_stack_level (),
2652+ stacklevel = find_stack_level (inspect . currentframe () ),
26522653 )
26532654 return self ._replace (to_replace = to_replace , value = value , inplace = inplace )
26542655
0 commit comments