dask.dataframe.Index.value_counts

dask.dataframe.Index.value_counts

Index.value_counts(sort=None, ascending=False, dropna=True, normalize=False, split_every=None, split_out=1)

返回一个包含唯一值计数的系列。

此文档字符串是从 pandas.core.series.Series.value_counts 复制而来的。

Dask 版本可能存在一些不一致性。

生成的对象将按降序排列,因此第一个元素是最常出现的元素。默认排除NA值。

参数
规范化bool, 默认 False

如果为 True,则返回的对象将包含唯一值的相对频率。

排序bool, 默认 True

当为 True 时按频率排序。当为 False 时保持数据的顺序。

升序bool, 默认 False

按升序排序。

binsint, 可选 (Dask 不支持)

与其计算值,不如将它们分组到半开区间中,这是 pd.cut 的一个便利功能,仅适用于数值数据。

dropnabool, 默认 True

不要包含NaN的计数。

返回
系列

参见

Series.count

Series 中非 NA 元素的数量。

DataFrame.count

DataFrame 中非 NA 元素的数量。

DataFrame.value_counts

DataFrame 上的等效方法。

示例

>>> index = pd.Index([3, 1, 2, 3, 4, np.nan])  
>>> index.value_counts()  
3.0    2
1.0    1
2.0    1
4.0    1
Name: count, dtype: int64

normalize 设置为 True 时,返回相对频率,即将所有值除以值的总和。

>>> s = pd.Series([3, 1, 2, 3, 4, np.nan])  
>>> s.value_counts(normalize=True)  
3.0    0.4
1.0    0.2
2.0    0.2
4.0    0.2
Name: proportion, dtype: float64

bins

箱子对于将连续变量转换为分类变量非常有用;与其计算值的唯一出现次数,不如将索引划分为指定数量的半开箱子。

>>> s.value_counts(bins=3)  
(0.996, 2.0]    2
(2.0, 3.0]      2
(3.0, 4.0]      1
Name: count, dtype: int64

dropna

dropna 设置为 False 后,我们还可以看到 NaN 索引值。

>>> s.value_counts(dropna=False)  
3.0    2
1.0    1
2.0    1
4.0    1
NaN    1
Name: count, dtype: int64