Вы можете использовать функцию 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