pandas.Index.value_counts#

Index.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True)[源代码]#

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

结果对象将按降序排列,因此第一个元素是出现频率最高的元素。默认情况下排除NA值。

参数
normalize布尔值,默认为False

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

sort布尔值,默认为True

按频率排序。

ascending布尔值,默认为False

按升序排序。

bins整型,可选

不是计算数值,而是将它们分组到半开的垃圾箱中,这对 pd.cut ,仅适用于数字数据。

dropna布尔值,默认为True

不包括NaN的数量。

退货
系列

参见

Series.count

系列中非NA元素的数量。

DataFrame.count

DataFrame中的非NA元素数。

DataFrame.value_counts

DataFrames上的等效方法。

示例

>>> 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
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
dtype: float64

bins

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

>>> s.value_counts(bins=3)
(0.996, 2.0]    2
(2.0, 3.0]      2
(3.0, 4.0]      1
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
dtype: int64