Skip to content

Commit 405ac0e

Browse files
committed
Calculate unique for the EA vs non-EA case
1 parent 453d3df commit 405ac0e

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

pandas/core/algorithms.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -696,12 +696,15 @@ def value_counts(values, sort=True, ascending=False, normalize=False,
696696
if is_extension_array_dtype(values) or is_sparse(values):
697697

698698
# handle Categorical and sparse,
699-
result = Series(values)._values.value_counts(dropna=dropna)
699+
vals = Series(values)
700+
uniq = vals._values.unique()
701+
result = vals._values.value_counts(dropna=dropna)
700702
result.name = name
701703
counts = result.values
702704

703705
else:
704706
keys, counts = _value_counts_arraylike(values, dropna)
707+
uniq = unique(values)
705708

706709
if not isinstance(keys, Index):
707710
keys = Index(keys)
@@ -710,7 +713,6 @@ def value_counts(values, sort=True, ascending=False, normalize=False,
710713
if sort:
711714
result = result.sort_values(ascending=ascending)
712715
elif bins is None:
713-
uniq = unique(values)
714716
if not isinstance(result.index, ABCCategoricalIndex):
715717
result = result.reindex(uniq)
716718

0 commit comments

Comments
 (0)