Pandas Group по среднему показателю

Pandas Group Po Srednemu Pokazatelu



Когда мы складываем два или более значений вместе и их сумму делим на общее количество сложенных вместе значений, результатом является среднее значение. Pandas Mean возвращает среднее значение данных или значения по заданной оси. Ряд со средним значением по оси будет возвращен pandas, если метод mean() применяется к фрейму данных. Панды возвращают числовое значение (одно число), если в серии используется «mean ()». Функции можно применять к категориям после создания групп категорий. Это простая идея, но очень эффективный метод, который часто применяется в науке о данных. Это позволяет нам создавать сводку данных для каждой группы, применять модификации для конкретных групп и выполнять фильтрацию данных. С помощью функции groupby() можно разделить объект, применить функцию, а затем объединить продукты. С его помощью можно группировать большие наборы данных и выполнять операции над группами.

Как использовать метод groupby.mean() в Pandas?

Чтобы вычислить среднее значение фрейма данных или среднее значение определенных столбцов фрейма данных, мы можем использовать функцию groupby.mean(). Мы покажем, как его использовать, на следующих примерах.







Пример № 01: определение среднего значения одного целочисленного столбца путем группировки данных одного столбца

Используя функцию pd.DataFrame(), мы сначала создадим фрейм данных, чтобы мы могли разделить данные столбца или столбцов фрейма данных на группы, а затем найти их среднее значение. Перед созданием фрейма данных мы должны импортировать модуль pandas вместе с библиотекой numpy.





Как видно, мы создали наш фреймворк данных, используя словарь pandas. У нас есть 3 столбца в нашем кадре данных df, то есть «элементы», «производитель» и «количество». В столбце «предметы» мы сохранили значения («рубашка», «галстук», «брюки», «рубашка», «галстук», «брюки», «рубашка», «брюки», «брюки», « галстук'), а столбцы 'производитель' и 'количество', содержащие значения ('италия', 'франция', 'китай', 'франция', 'китай', 'италия', 'китай', 'италия', «Франция», «Китай») и (13, 16, 21, 32, 26, 41, 24, 42, 12, 15) соответственно. Давайте сгруппируем значения в столбце производителя и определим среднее значение количества для каждого отдельного производителя.





Значение производителя «Китай» имеет среднее количественное значение 21,5, среднее количественное значение «Франция» равно 20,0, а среднее количественное значение «Италия» равно 32,0. Мы также можем указать индекс для вывода, используя функцию reset_index с функцией groupby.mean().



Пример # 02: найти среднее значение одного столбца с плавающей запятой путем группировки данных одного столбца

Мы видели, как мы можем найти среднее значение целочисленного столбца после группировки данных. Теперь давайте попробуем другой столбец типа данных, такой как float. Фрейм данных с хотя бы одним столбцом со значениями с плавающей запятой будет создан с помощью функции pd.DataFrame().

Поместив словарь внутрь pd.DataFrame(), мы создали фрейм данных с тремя столбцами. В столбце «имя» хранятся имена некоторых случайных игроков («Сэм», «Джей», «Лео», «Майк», «Уилл», «Билли», «Джонни», «Лара», «Ханна», «Тони»), столбец «команда», представляющий команду, к которой принадлежит каждый игрок («А», «А», «Б», «А», «В», «А», «С», «Б». ', 'C', 'C'), а столбец 'рост' хранит рост каждого игрока в виде значения с плавающей запятой (5.6, 5.4, 6.3, 5.2, 5.5, 6.4, 5.6, 5.8, 6.0, 5.2). Давайте сгруппируем данные в столбце «команда» и определим среднее значение роста для каждого отдельного значения «команда».

Вы можете видеть, что средний рост игроков команды А равен 5,65, тогда как средний рост игроков команд В и С равен 5,866 и 5,6 соответственно.

Пример # 03: Определение среднего значения нескольких столбцов с помощью функции groupby.mean()

В предыдущих примерах мы определяли среднее значение одного столбца. Однако также можно определить среднее значение многочисленных столбцов для каждой группы. Давайте создадим фрейм данных, содержащий более одного числового столбца, после импорта модулей pandas и numpy.

Во вновь созданном фрейме данных есть три столбца с метками «имя», «оценка» и «совпадения». Имена столбцов, содержащие значения данных в виде строки ('Рон', 'Джим', 'Дэни', 'Джим', 'Джим', 'Дэни', 'Рон', 'Рон', 'Дэни', 'Джим' ), тогда как «счет» и «совпадения» состоят из числовых данных в виде (3, 4, 2, 4, 1, 5, 2, 3, 1, 2) и (2, 3, 1, 2, 1, 3). , 4, 1, 2, 1). Теперь давайте найдем среднее значение столбца «счет» и «совпадения» после группировки данных столбца «имя». Для этого будет использоваться функция groupby.mean().

Можно заметить, что группа «Дани» имеет средний балл 2,66 в 2,00 матчах. Группа Джим имеет средний балл 2,75, а среднее значение сыгранных матчей — 1,75. В то время как группа «Рон» имеет среднее значение балла 2,66, а среднее значение сыгранных матчей — 2,33.

Среднее значение группы категорий по объекту также можно вычислить с помощью метода agg(). Мы будем передавать среднее значение в качестве аргумента функции agg(). Для агрегирования с использованием одной или нескольких операций по заданной оси мы можем использовать функцию agg().

Выход такой же, как и раньше.

Пример № 04: определение среднего значения определенных столбцов путем группировки нескольких столбцов

В примерах 1, 2 и 3 мы сгруппировали значения или данные одного столбца. Теперь мы сгруппируем несколько столбцов, используя список меток столбцов внутри функции groupby(), а затем найдем среднее значение для каждой группы. Словарь «d» будет передан внутри функции pd.Dataframe() в качестве входных данных для создания фрейма данных.

Мы создали необходимый фрейм данных. Колонка «спорт» содержит название некоторых видов спорта («бадминтон», «футбол», «теннис», «баскетбол», «футбол», «теннис», «баскетбол», «футбол», «бадминтон», « баскетбол», «баскетбол», «теннис»), названия стран («Китай», «Россия», «Италия», «Испания», «Россия», «Италия», «Китай», «Италия», « Испания», «Китай», «Россия», «Италия») хранятся в столбце «страна». Тогда как в столбце «победа» мы сохранили количество матчей, выигранных каждой страной в каждом виде спорта (13, 10, 6, 7, 10, 12, 7, 11, 8, 13, 11, 6). Давайте воспользуемся функцией groupby.mean(), чтобы найти среднее значение значений столбца «выигрыш», сгруппировав столбцы «спорт» и «страна».

Функция успешно определила средние значения столбца «выигрыш» для каждого вида спорта в стране. Сгруппированный кадр данных можно сбросить с помощью функции reset_index(), которая также генерирует новый индекс, придавая ему соответствующую структуру кадра данных.

Индекс добавляется для каждой строки кадра данных. Чтобы упорядочить результаты в привлекательной таблице, мы также можем использовать функцию pivot().

Вывод

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