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() работает в три этапа:

  1. Разделить – разделите данные на разные группы

  2. Применить – примените какую-либо форму агрегации

  3. Объединить – повторно объединить данные

Давайте посмотрим, как использовать метод .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())

Давайте посмотрим, что мы здесь сделали:

  1. Мы сначала использовали метод .groupby() и передали в него столбец Major_category, указав, что хотим выполнить группировку по этому столцу.

  2. Затем мы передали в столбец ShareWomen, чтобы указать, что хотим получить количество уникальных значений для этого столбца.

  3. Затем мы применяем метод .nunique(), чтобы подсчитать количество уникальных значений в этом столбце.

Заключение

В этом посте вы узнали, как считать количество уникальных значений в группах Pandas. Вы немного познакомились с методом Pandas .groupby() и узнали, как использовать его для агрегирования данных. Наконец, вы научились использовать метод .groupby() Pandas для подсчета количества уникальных значений в каждой группе Pandas.

Чтобы узнать больше о методе groupby в Pandas, посмотрите официальную документацию здесь.

Дополнительные ресурсы

Чтобы узнать больше по сопутствующим темам, ознакомьтесь с учебными материалами.

Last updated