19
19
is_bool_dtype , needs_i8_conversion ,
20
20
is_categorical , is_datetimetz ,
21
21
is_datetime64_any_dtype , is_datetime64tz_dtype ,
22
- is_timedelta64_dtype ,
22
+ is_timedelta64_dtype , is_interval_dtype ,
23
23
is_scalar , is_list_like ,
24
24
_ensure_platform_int , _ensure_object ,
25
25
_ensure_float64 , _ensure_uint64 ,
@@ -610,19 +610,6 @@ def value_counts(values, sort=True, ascending=False, normalize=False,
610
610
except TypeError :
611
611
raise TypeError ("bins argument only works with numeric data." )
612
612
613
- if is_categorical_dtype (values ) or is_sparse (values ):
614
-
615
- # handle Categorical and sparse,
616
- result = Series (values ).values .value_counts (dropna = dropna )
617
- result .name = name
618
- counts = result .values
619
-
620
- else :
621
- keys , counts = _value_counts_arraylike (values , dropna )
622
-
623
- if not isinstance (keys , Index ):
624
- keys = Index (keys )
625
- result = Series (counts , index = keys , name = name )
626
613
# count, remove nulls (from the index), and but the bins
627
614
result = ii .value_counts (dropna = dropna )
628
615
result = result [result .index .notnull ()]
@@ -636,6 +623,22 @@ def value_counts(values, sort=True, ascending=False, normalize=False,
636
623
# normalizing is by len of all (regardless of dropna)
637
624
counts = np .array ([len (ii )])
638
625
626
+ else :
627
+
628
+ if is_categorical_dtype (values ) or is_sparse (values ):
629
+
630
+ # handle Categorical and sparse,
631
+ result = Series (values ).values .value_counts (dropna = dropna )
632
+ result .name = name
633
+ counts = result .values
634
+
635
+ else :
636
+ keys , counts = _value_counts_arraylike (values , dropna )
637
+
638
+ if not isinstance (keys , Index ):
639
+ keys = Index (keys )
640
+ result = Series (counts , index = keys , name = name )
641
+
639
642
if sort :
640
643
result = result .sort_values (ascending = ascending )
641
644
0 commit comments