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