@@ -85,11 +85,11 @@ def __new__(cls, data=None, categories=None, ordered=None, dtype=None,
85
85
name = data .name
86
86
87
87
if isinstance (data , ABCCategorical ):
88
- data = cls ._create_categorical (cls , data , categories , ordered ,
88
+ data = cls ._create_categorical (data , categories , ordered ,
89
89
dtype )
90
90
elif isinstance (data , CategoricalIndex ):
91
91
data = data ._data
92
- data = cls ._create_categorical (cls , data , categories , ordered ,
92
+ data = cls ._create_categorical (data , categories , ordered ,
93
93
dtype )
94
94
else :
95
95
@@ -99,7 +99,7 @@ def __new__(cls, data=None, categories=None, ordered=None, dtype=None,
99
99
if data is not None or categories is None :
100
100
cls ._scalar_data_error (data )
101
101
data = []
102
- data = cls ._create_categorical (cls , data , categories , ordered ,
102
+ data = cls ._create_categorical (data , categories , ordered ,
103
103
dtype )
104
104
105
105
if copy :
@@ -136,8 +136,8 @@ def _create_from_codes(self, codes, categories=None, ordered=None,
136
136
ordered = self .ordered )
137
137
return CategoricalIndex (cat , name = name )
138
138
139
- @staticmethod
140
- def _create_categorical (self , data , categories = None , ordered = None ,
139
+ @classmethod
140
+ def _create_categorical (cls , data , categories = None , ordered = None ,
141
141
dtype = None ):
142
142
"""
143
143
*this is an internal non-public method*
@@ -155,7 +155,7 @@ def _create_categorical(self, data, categories=None, ordered=None,
155
155
-------
156
156
Categorical
157
157
"""
158
- if (isinstance (data , (ABCSeries , type ( self ) )) and
158
+ if (isinstance (data , (cls , ABCSeries )) and
159
159
is_categorical_dtype (data )):
160
160
data = data .values
161
161
@@ -179,8 +179,8 @@ def _simple_new(cls, values, name=None, categories=None, ordered=None,
179
179
dtype = None , ** kwargs ):
180
180
result = object .__new__ (cls )
181
181
182
- values = cls ._create_categorical (cls , values , categories , ordered ,
183
- dtype = dtype )
182
+ values = cls ._create_categorical (values , categories ,
183
+ ordered , dtype = dtype )
184
184
result ._data = values
185
185
result .name = name
186
186
for k , v in compat .iteritems (kwargs ):
@@ -236,7 +236,7 @@ def _is_dtype_compat(self, other):
236
236
if not is_list_like (values ):
237
237
values = [values ]
238
238
other = CategoricalIndex (self ._create_categorical (
239
- self , other , categories = self .categories , ordered = self .ordered ))
239
+ other , categories = self .categories , ordered = self .ordered ))
240
240
if not other .isin (values ).all ():
241
241
raise TypeError ("cannot append a non-category item to a "
242
242
"CategoricalIndex" )
@@ -798,7 +798,7 @@ def _evaluate_compare(self, other):
798
798
other = other ._values
799
799
elif isinstance (other , Index ):
800
800
other = self ._create_categorical (
801
- self , other ._values , categories = self .categories ,
801
+ other ._values , categories = self .categories ,
802
802
ordered = self .ordered )
803
803
804
804
if isinstance (other , (ABCCategorical , np .ndarray ,
0 commit comments