mars.dataframe.Series.value_counts#

Series.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True, method='auto')#

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

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

Parameters
  • normalize (bool, 默认值为 False) – 如果为 True,则返回的对象将包含唯一值的相对频率。

  • sort (bool, default True) – 按频率排序。

  • ascending (bool, 默认值为 False) – 以升序排序。

  • bins (int, 可选) – 而不是计数值,将其分组到半开区间中,这样方便pd.cut使用,仅适用于数值数据。

  • dropna (bool, 默认 True) – 不包括 NaN 的计数。

  • 方法 (str, 默认 'auto') – ‘auto’,‘shuffle’,或‘tree’,‘tree’ 方法提供 更好的性能,而在聚合结果非常大的情况下推荐使用‘shuffle’, ‘auto’将在分布式模式下使用‘shuffle’方法,在本地模式下使用‘tree’。

Return type

系列

另请参阅

Series.count

系列中非NA元素的数量。

DataFrame.count

数据框中非NA元素的数量。

示例

>>> import mars.dataframe as md
>>> import mars.tensor as mt
>>> s = md.Series([3, 1, 2, 3, 4, mt.nan])
>>> s.value_counts().execute()
3.0    2
4.0    1
2.0    1
1.0    1
dtype: int64

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

>>> s = md.Series([3, 1, 2, 3, 4, mt.nan])
>>> s.value_counts(normalize=True).execute()
3.0    0.4
4.0    0.2
2.0    0.2
1.0    0.2
dtype: float64

分箱

箱可以用于将连续变量转换为 分类变量;而不是计算值的唯一出现 次数,将索引划分为指定数量的半开箱。

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

丢弃缺失值

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

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