pandas.Series.value_counts#
- Series.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True)[源代码]#
返回一个包含唯一值计数的 Series。
结果对象将按降序排列,因此第一个元素是最频繁出现的元素。默认情况下排除 NA 值。
- Parameters:
- normalizebool,默认 False
如果为 True,则返回的对象将包含唯一值的相对频率。
- sortbool, default True
如果为 True,则按频率排序。如果为 False,则保留数据的顺序。
- ascendingbool,默认 False
按升序排序。
- binsint, optional
与其计数,不如将值分组到半开区间中,这是
pd.cut的便利功能,仅适用于数值数据。- dropnabool, default True
不包括 NaN 的计数。
- Returns:
- Series
参见
Series.countSeries 中非 NA 元素的数量。
DataFrame.countDataFrame 中非 NA 元素的数量。
DataFrame.value_countsDataFrame 上的等效方法。
Examples
>>> 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
分组 bin 对于将连续变量转换为分类变量很有用;与其计算值的唯一出现次数,不如将索引划分为指定数量的半开 bin。
>>> 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