Pandas: Подсчёт уникальных значений в объекте GroupBy
В этом руководстве вы научитесь использовать Pandas для подсчета уникальных значений в объекте groupby. Метод Pandas .groupby()
— это важный инструмент в вашем наборе инструментов для анализа данных, позволяющий легко разделять данные на группы и выполнять различные агрегации для каждой группы.
By the end of this tutorial, you’ll have learned how to count unique values in a Pandas groupby object, using the incredibly useful .nunique()
Pandas method. If you only want to find unique values, check out how to use the Pandas unique method.
Быстрый ответ: используйте .nunique()
для подсчета уникальных значений в объекте GroupBy библиотеки Pandas
group_by = df.groupby('Group Column')['Column to Count'].nunique()
Оглавление
Загрузка образца фрейма данных
Если вы хотите следовать этому руководству, не стесняйтесь загрузить пример датафрейма, предоставленный ниже, просто скопировав и вставив код в ваш любимый редактор кода.
Давайте сразу перейдем к делу:
import pandas as pd
df = pd.read_csv('https://raw.githubusercontent.com/fivethirtyeight/data/master/college-majors/women-stem.csv')
print(df.head())
Этот набор данных предоставлен FiveThirtyEight и содержит информацию о представленности женщин в различных направлениях STEM.
Понимание группы Pandas
Прежде чем мы углубимся в использование .groupby()
в Pandas для подсчета уникальных значений в группе, давайте рассмотрим, как работает этот метод. Это позволит вам понять, почему это решение эффективно и как его можно применять в разных сценариях. Метод чрезвычайно универсален и быстр, что позволяет решать относительно сложные задачи с легкостью.
Функция Pandas .groupby()
работает в три этапа:
Разделить – разделите данные на разные группы
Применить – примените какую-либо форму агрегации
Объединить – повторно объединить данные
Давайте посмотрим, как использовать метод .groupby()
, чтобы найти максимум в группе, а именно группу Major, с максимальной долей женщин в этой группе:
# Как использовать метод .groupby() в Pandas
import pandas as pd
df = pd.read_csv('https://raw.githubusercontent.com/fivethirtyeight/data/master/college-majors/women-stem.csv')
group_by = df.groupby('Major_category')['ShareWomen'].max()
print(group_by.head())
Теперь, когда вы знаете, как использовать метод Pandas .groupby()
, давайте посмотрим, как мы можем использовать этот метод для подсчета количества уникальных значений в каждой группе.
Подсчета количества уникальных значений в каждой группе.
Чтобы узнать больше о методе Pandas .groupby()
, ознакомьтесь с моим подробным руководством здесь:
Давайте узнаем, как можно подсчитать количество уникальных значений в объекте Pandas groupby. Аналогично примеру, приведенному выше, вы можете применить определенное преобразование к группе.
Чтобы сделать это, мы можем использовать полезный метод .nunique()
из библиотеки Pandas, который позволяет легко подсчитывать количество уникальных значений в заданном сегменте
Давайте посмотрим, как мы можем сделать это с помощью Python
import pandas as pd
df = pd.read_csv('https://raw.githubusercontent.com/fivethirtyeight/data/master/college-majors/women-stem.csv')
group_by = df.groupby('Major_category')['ShareWomen'].nunique()
print(group_by.head())
Давайте посмотрим, что мы здесь сделали:
Мы сначала использовали метод
.groupby()
и передали в него столбец Major_category, указав, что хотим выполнить группировку по этому столцу.Затем мы передали в столбец ShareWomen, чтобы указать, что хотим получить количество уникальных значений для этого столбца.
Затем мы применяем метод
.nunique()
, чтобы подсчитать количество уникальных значений в этом столбце.
Заключение
В этом посте вы узнали, как считать количество уникальных значений в группах Pandas. Вы немного познакомились с методом Pandas .groupby()
и узнали, как использовать его для агрегирования данных. Наконец, вы научились использовать метод .groupby()
Pandas для подсчета количества уникальных значений в каждой группе Pandas.
Чтобы узнать больше о методе groupby в Pandas, посмотрите официальную документацию здесь.
Дополнительные ресурсы
Чтобы узнать больше по сопутствующим темам, ознакомьтесь с учебными материалами.
Подсчет значений в Pandas с помощью value_counts
Last updated