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