Skip to content

Commit 1a798be

Browse files
topper-123TomAugspurger
authored andcommitted
CLN: use self.dtype rather than self.categories/ordered in Categorical (#22513)
1 parent 6b83df9 commit 1a798be

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

pandas/core/arrays/categorical.py

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -500,8 +500,7 @@ def _from_sequence(cls, scalars, dtype=None, copy=False):
500500
def copy(self):
501501
""" Copy constructor. """
502502
return self._constructor(values=self._codes.copy(),
503-
categories=self.categories,
504-
ordered=self.ordered,
503+
dtype=self.dtype,
505504
fastpath=True)
506505

507506
def astype(self, dtype, copy=True):
@@ -1632,8 +1631,8 @@ def sort_values(self, inplace=False, ascending=True, na_position='last'):
16321631
self._codes = codes
16331632
return
16341633
else:
1635-
return self._constructor(values=codes, categories=self.categories,
1636-
ordered=self.ordered, fastpath=True)
1634+
return self._constructor(values=codes, dtype=self.dtype,
1635+
fastpath=True)
16371636

16381637
def _values_for_rank(self):
16391638
"""
@@ -1777,8 +1776,7 @@ def fillna(self, value=None, method=None, limit=None):
17771776
'or Series, but you passed a '
17781777
'"{0}"'.format(type(value).__name__))
17791778

1780-
return self._constructor(values, categories=self.categories,
1781-
ordered=self.ordered, fastpath=True)
1779+
return self._constructor(values, dtype=self.dtype, fastpath=True)
17821780

17831781
def take_nd(self, indexer, allow_fill=None, fill_value=None):
17841782
"""
@@ -1823,8 +1821,7 @@ def take_nd(self, indexer, allow_fill=None, fill_value=None):
18231821

18241822
codes = take(self._codes, indexer, allow_fill=allow_fill,
18251823
fill_value=fill_value)
1826-
result = self._constructor(codes, categories=self.categories,
1827-
ordered=self.ordered, fastpath=True)
1824+
result = self._constructor(codes, dtype=self.dtype, fastpath=True)
18281825
return result
18291826

18301827
take = take_nd
@@ -1843,9 +1840,8 @@ def _slice(self, slicer):
18431840
"categorical")
18441841
slicer = slicer[1]
18451842

1846-
_codes = self._codes[slicer]
1847-
return self._constructor(values=_codes, categories=self.categories,
1848-
ordered=self.ordered, fastpath=True)
1843+
codes = self._codes[slicer]
1844+
return self._constructor(values=codes, dtype=self.dtype, fastpath=True)
18491845

18501846
def __len__(self):
18511847
"""The length of this Categorical."""
@@ -2157,8 +2153,8 @@ def mode(self, dropna=True):
21572153
good = self._codes != -1
21582154
values = self._codes[good]
21592155
values = sorted(htable.mode_int64(ensure_int64(values), dropna))
2160-
result = self._constructor(values=values, categories=self.categories,
2161-
ordered=self.ordered, fastpath=True)
2156+
result = self._constructor(values=values, dtype=self.dtype,
2157+
fastpath=True)
21622158
return result
21632159

21642160
def unique(self):
@@ -2298,8 +2294,7 @@ def repeat(self, repeats, *args, **kwargs):
22982294
"""
22992295
nv.validate_repeat(args, kwargs)
23002296
codes = self._codes.repeat(repeats)
2301-
return self._constructor(values=codes, categories=self.categories,
2302-
ordered=self.ordered, fastpath=True)
2297+
return self._constructor(values=codes, dtype=self.dtype, fastpath=True)
23032298

23042299
# Implement the ExtensionArray interface
23052300
@property

0 commit comments

Comments
 (0)