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 ,
@@ -529,19 +529,6 @@ def value_counts(values, sort=True, ascending=False, normalize=False,
529
529
except TypeError :
530
530
raise TypeError ("bins argument only works with numeric data." )
531
531
532
- if is_categorical_dtype (values ) or is_sparse (values ):
533
-
534
- # handle Categorical and sparse,
535
- result = Series (values ).values .value_counts (dropna = dropna )
536
- result .name = name
537
- counts = result .values
538
-
539
- else :
540
- keys , counts = _value_counts_arraylike (values , dropna )
541
-
542
- if not isinstance (keys , Index ):
543
- keys = Index (keys )
544
- result = Series (counts , index = keys , name = name )
545
532
# count, remove nulls (from the index), and but the bins
546
533
result = ii .value_counts (dropna = dropna )
547
534
result = result [result .index .notnull ()]
@@ -555,6 +542,22 @@ def value_counts(values, sort=True, ascending=False, normalize=False,
555
542
# normalizing is by len of all (regardless of dropna)
556
543
counts = np .array ([len (ii )])
557
544
545
+ else :
546
+
547
+ if is_categorical_dtype (values ) or is_sparse (values ):
548
+
549
+ # handle Categorical and sparse,
550
+ result = Series (values ).values .value_counts (dropna = dropna )
551
+ result .name = name
552
+ counts = result .values
553
+
554
+ else :
555
+ keys , counts = _value_counts_arraylike (values , dropna )
556
+
557
+ if not isinstance (keys , Index ):
558
+ keys = Index (keys )
559
+ result = Series (counts , index = keys , name = name )
560
+
558
561
if sort :
559
562
result = result .sort_values (ascending = ascending )
560
563
0 commit comments