Как использовать функцию 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 появляется дважды .
  • Значение 7 появляется дважды .

И так далее.

Пример 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
NaN2
8.0 1
9.0 1
dtype: int64

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

Следующий код показывает, как использовать аргумент нормализации для подсчета относительной частоты уникальных значений в серии 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

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

  • Между 3 и 5 имеется 6 значений.
  • Есть 2 значения между 5 и 7.
  • Есть 2 значения между 7 и 9.

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

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

 import pandas as pd

#createDataFrame
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:

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *