Series.value_counts() / DataFrame.value_counts()
Метод value_counts() возвращает Series с количеством вхождений каждого уникального значения, отсортированным по убыванию. Удобно для построения гистограмм, анализа распределений событий, поиска аномалий в логах.
Сигнатура
Series.value_counts(normalize=False, sort=True, ascending=False,
bins=None, dropna=True)
DataFrame.value_counts(subset=None, normalize=False, sort=True,
ascending=False, dropna=True)
Параметры
normalize— еслиTrue, возвращает доли вместо абсолютных частот.sort— сортировать ли по частоте.ascending— направление сортировки.bins— если число, бинирует числовые значения.dropna— учитывать лиNaN.subset(DataFrame) — список столбцов для группировки.
Возвращаемое значение
Series (с индексом — значения, со значениями — частоты).
Примеры
Пример 1. Частоты режимов работы
import pandas as pd
s = pd.Series(["idle", "run", "idle", "stop", "run", "idle"])
print(s.value_counts())
idle 3
run 2
stop 1
Name: count, dtype: int64
Пример 2. Доли (normalize)
import pandas as pd
s = pd.Series(["A", "B", "A", "A", "C"])
print(s.value_counts(normalize=True))
A 0.6
B 0.2
C 0.2
Name: proportion, dtype: float64
Пример 3. Бинирование числовых данных
import pandas as pd
temps = pd.Series([23, 24, 25, 23, 26, 27, 24, 25, 26, 25])
print(temps.value_counts(bins=3, sort=False))
(22.995, 24.333] 4
(24.333, 25.667] 3
(25.667, 27.0] 3
Name: count, dtype: int64
Пример 4. С учётом NaN
import pandas as pd
import numpy as np
s = pd.Series(["A", "B", np.nan, "A", np.nan])
print(s.value_counts(dropna=False))
A 2
NaN 2
B 1
Name: count, dtype: int64
Пример 5. По нескольким столбцам
import pandas as pd
df = pd.DataFrame({
"device": ["A", "A", "B", "A", "B"],
"status": ["ok", "err", "ok", "ok", "err"],
})
print(df.value_counts())
device status
A ok 2
A err 1
B err 1
B ok 1
Name: count, dtype: int64
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.