pandas.Index.value_counts #

指数。value_counts (归一化= False ,排序= True ,升序= False , bins = None , dropna = True ) [来源] #

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

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

参数:
标准化布尔值,默认 False

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

排序bool,默认 True

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

升序布尔值,默认 False

按升序排序。

bins整数,可选

不要对值进行计数,而是将它们分组到半开箱中,这是一种方便的方法pd.cut,仅适用于数字数据。

dropna bool,默认 True

不包括 NaN 的计数。

返回:
系列

也可以看看

Series.count

系列中非 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

垃圾箱

箱对于从连续变量到分类变量非常有用;不是对值的唯一出现进行计数,而是将索引划分为指定数量的半开容器。

>>> 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设置为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