Метод value_counts
Метод value_counts применяется к DataFrame
и возвращает серию с подсчётом количества каждого уникального значения
в указанном столбце. Первым параметром передаётся название столбца,
а вторым параметром можно указать, нужно ли сортировать результат
по убыванию частоты. Также есть параметр normalize,
который позволяет получить не абсолютное количество, а долю каждого значения.
Синтаксис
df.value_counts(subset=None, normalize=False, sort=True, ascending=False, dropna=True)
Пример
Давайте подсчитаем количество вхождений значений в столбце:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 1, 3, 1, 2],
'b': [10, 20, 10, 30, 10, 20]
})
res = df.value_counts('a')
print(res)
Результат выполнения кода:
1 3
2 2
3 1
dtype: int64
Пример
Давайте подсчитаем доли значений в столбце:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 1, 3, 1, 2],
'b': [10, 20, 10, 30, 10, 20]
})
res = df.value_counts('a', normalize=True)
print(res)
Результат выполнения кода:
1 0.500000
2 0.333333
3 0.166667
dtype: float64
Пример
Давайте отключим сортировку результатов:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 1, 3, 1, 2],
'b': [10, 20, 10, 30, 10, 20]
})
res = df.value_counts('a', sort=False)
print(res)
Результат выполнения кода:
2 2
3 1
1 3
dtype: int64
Пример
Давайте подсчитаем количество вхождений по двум столбцам:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 1, 3, 1, 2],
'b': [10, 20, 10, 30, 10, 20]
})
res = df.value_counts(subset=['a', 'b'])
print(res)
Результат выполнения кода:
a b
1 10 3
2 20 2
3 30 1
dtype: int64
Смотрите также
-
метод
nunique,
который возвращает количество уникальных значений в столбце -
метод
groupby,
который группирует данные для агрегации -
метод
drop_duplicates,
который удаляет дубликаты из таблицы -
метод
duplicated,
который определяет дублирующиеся строки