# pandas.Index.value_counts

`Index.``value_counts`(normalize=False, sort=True, ascending=False, bins=None, dropna=True)

  Return a Series containing counts of unique values.

  The resulting object will be in descending order so that the first element is the most frequently-occurring element. Excludes NA values by default.

  Parameters:

  normalize : boolean, default False

  > If True then the object returned will contain the relative frequencies of the unique values.

  sort : boolean, default True

  > Sort by frequencies.

  ascending : boolean, default False

  > Sort in ascending order.

  bins : integer, optional

  > Rather than count values, group them into half-open bins, a convenience for `pd.cut`, only works with numeric data.

  dropna : boolean, default True

  > Don’t include counts of NaN.

  Returns: | Series

  See also

  `Series.count`
    Number of non-NA elements in a Series.
  `DataFrame.count`
    Number of non-NA elements in a DataFrame.

  Examples

      >>> index = pd.Index([3, 1, 2, 3, 4, np.nan])
      >>> index.value_counts()
      3.0    2
      4.0    1
      2.0    1
      1.0    1
      dtype: int64

  With normalize set to True, returns the relative frequency by dividing all values by the sum of values.

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

  bins

  Bins can be useful for going from a continuous variable to a categorical variable; instead of counting unique apparitions of values, divide the index in the specified number of half-open bins.

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

  dropna

  With dropna set to False we can also see NaN index values.

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

Scroll To Top