Как использовать функцию Pandas value_counts() (с примерами)


Вы можете использовать функцию value_counts() для подсчета частоты уникальных значений в серии pandas.

Эта функция использует следующий базовый синтаксис:

my_series. value_counts ()

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1. Частота подсчета уникальных значений

В следующем коде показано, как подсчитать количество вхождений уникальных значений в серии pandas:

import pandas as pd

#create pandas Series
my_series = pd.Series([3, 3, 3, 3, 4, 4, 7, 7, 8, 9])

#count occurrences of unique values in Series
my_series. value_counts ()

3 4
4 2
7 2
8 1
9 1
dtype: int64

Это говорит нам:

  • Значение 3 встречается 4 раза.
  • Значение 4 встречается 2 раза.
  • Значение 7 встречается 2 раза.

И так далее.

Пример 2. Частота подсчета уникальных значений (включая NaN)

По умолчанию функция value_counts() не показывает частоту значений NaN.

Однако вы можете использовать аргумент dropna для отображения частоты значений NaN:

import pandas as pd
import numpy as np

#create pandas Series with some NaN values
my_series = pd.Series([3, 3, 3, 3, 4, 4, 7, 7, 8, 9, np.nan, np.nan])

#count occurrences of unique values in Series, including NaNs
my_series. value_counts (dropna= False )

3.0 4
4.0 2
7.0 2
NaN 2
8.0 1
9.0 1
dtype: int64

Пример 3. Подсчет относительной частоты уникальных значений

В следующем коде показано, как использовать аргумент normalize для подсчета относительной частоты уникальных значений в серии pandas:

import pandas as pd

#create pandas Series
my_series = pd.Series([3, 3, 3, 3, 4, 4, 7, 7, 8, 9])

#count occurrences of unique values in Series
my_series. value_counts (normalize= True )

3 0.4
4 0.2
7 0.2
8 0.1
9 0.1
dtype: float64

Это говорит нам:

  • Значение 3 представляет 40% всех значений в серии.
  • Значение 4 представляет 20% всех значений в серии.
  • Значение 7 представляет 20% всех значений в серии.

И так далее.

Пример 4. Частота подсчета в бинах

В следующем коде показано, как использовать аргумент bins для подсчета частоты значений в серии pandas, которые попадают в бины одинакового размера:

import pandas as pd

#create pandas Series
my_series = pd.Series([3, 3, 3, 3, 4, 4, 7, 7, 8, 9])

#count occurrences of unique values in Series
my_series. value_counts (bins= 3 )

(3.0, 5.0] 6
(5.0, 7.0] 2
(7.0, 9.0] 2
dtype: int64

Это говорит нам:

  • Есть 6 значений, которые попадают в диапазон от 3 до 5.
  • Есть 2 значения, которые попадают в диапазон от 5 до 7.
  • Есть 2 значения, которые попадают в диапазон от 7 до 9.

Пример 5: подсчет частоты значений в Pandas DataFrame

Мы также можем использовать функцию value_counts() для вычисления частоты уникальных значений в определенном столбце кадра данных pandas:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [9, 9, 9, 10, 10, 13, 15, 22],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})
#count occurrences of unique values in 'points' column
df['points']. value_counts ()

9 3
10 2
13 1
15 1
22 1
Name: points, dtype: int64

Дополнительные ресурсы

В следующих руководствах объясняется, как использовать другие распространенные функции в pandas:

Как использовать функцию description() в Pandas
Как подсчитать количество строк в Pandas
Как подсчитать наблюдения по группе в Pandas

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.