Группа — довольно простая концепция. Мы можем создать группу категорий и применить функцию к категориям. Это простая концепция, но чрезвычайно ценный метод, который широко используется в данных. наука. В реальных проектах науки о данных вам придется иметь дело с большими объемами данных и пытаться делать что-то повторно, поэтому для эффективности мы используем концепцию Groupby. Концепция Groupby действительно важна, потому что она способна эффективно объединять данные как с точки зрения производительности, так и с точки зрения объема кода. Группировка в основном относится к процессу, включающему один или несколько из следующих шагов:
- Разделение: это процесс, в котором мы делим данные на группы, применяя определенные условия к наборам данных. .
- Применение: — это процесс, в котором мы применяем функцию к каждой группе независимо.
- Консолидация: — это процесс, в котором мы объединяем различные наборы данных после применения группировки и результатов в структуру данных
Следующее изображение поможет вам понять процесс, связанный с концепцией Groupby.
1. Сгруппируйте уникальные значения из столбца "Команда".
2. Теперь для каждой группы есть сегмент
3. Разбрасывайте другие данные по корзинам
4. Примените функцию к столбцу веса для каждого сегмента.
Разделение данных на группы
Разбиение — это процесс, в котором мы делим данные на группы, применяя к наборам данных некоторые условия. Чтобы разделить данные, мы применяем определенные условия к наборам данных. Для разделения данных мы используем groupby ()
эта функция используется для разделения данных на группы по некоторым критериям . Объекты Pandas можно разделить на любую из их осей. Абстрактное определение группировки состоит в том, чтобы обеспечить сопоставление меток с именами групп. Наборы данных Pandas можно разделить на любые объекты. Существует несколько способов разделения данных, например:
- obj.группировать по (ключ)
- obj.groupby (ключ, ось = 1)
- obj. группировать ([key1, key2])
Примечание: здесь мы называем группировку объектов ключами.
Группировка данных по одному ключу.
Чтобы сгруппировать данные по одному ключу, мы передаем только один ключ в качестве аргумента groupby
function.
< br>
|
Вывод:
Группировка данных с несколькими ключами.
Чтобы сгруппировать данные с несколькими ключами, мы передаем несколько ключей в groupby
function.
# импорт модуля pandas
import
pandas as pd
# Определить словарь, содержащий данные о сотрудниках
data1
=
{
`Имя`
: [
`Jai`
,
` Анудж`
,
`Jai`
,
` Princi`
,
`Гаурав`
,
` Anuj`
,
`Princi`
,
` Abhi`
],
`Возраст`
: [
27
,
24
,
22
,
32
,
33
,
36
,
27
,
<код кла ss = "value"> 32 ],
`Адрес`
: [
` Нагпур`
,
`Канпур`
,
`Аллахабад`
,
`Kannuaj` ​​
,
`Jaunpur`
,
`Канпур`
,
` Аллахабад `
,
`Aligarh`
],
`Квалификация`
: [
`Msc`
,
` MA`
,
` MCA`
,
` PhD`
,
`B.Tech`
,
`B.com`
,
` Msc`
,
`MA`
]}
# Преобразование словаря в DataFrame
df
=
pd. DataFrame (data1)
print
(df)
Теперь мы сгруппируем данные имени и квалификации, используя работают несколько ключей в функции groupby
.
Вывод: Группировка данных по ключам:
|
Теперь мы применяем groupby ()
без сортировки
# используя функцию groupby
# без использования сортировки
df.groupby ([
`Имя`
]).
sum
()
Вывод:
Теперь мы используем groupby ()
с использованием сортировки для достижения потенциального ускорения.
Вывод: Группировка данных с атрибутами объекта:
<класс кода = "комментарии" > # с использованием ключей группировки
|
Вывод:
Перебор групп
To перебрать элемент группы, мы можем перебрать объект, похожий на iterto.ols .
# импорт модуля pandas
import
pandas as pd
# Определить словарь, содержащий данные о сотрудниках
data1
=
{
`Имя`
: [
` Jai`
,
` Анудж`
,
`Джай`
,
`Princi`
,
`Gaurav`
,
` Anuj `
,
` Princi`
,
`Abhi`
],
`Возраст`
: [
27
,
24
,
22
,
32
,
33
,
36
,
27
,
32
],
` Адрес`
: [
` Nagpur`
,
`Канпур`
,
`Аллахабад`
,
`Kannuaj` ​​
,
` Jaunpur `
,
` Kanpur`
,
`Аллахабад`
,
` Алигарх`
],
`Квалификация`
: [
`Msc`
,
`MA`
,
` MCA`
,
`Phd`
,
`B.Tech`
,
` B.com`
,
`Msc`
,
`MA`
]}
# Преобразование словаря в DataFrame
df
=
pd.DataFrame (data1)
print < /код> <с ode class = "plain"> (df)
Теперь мы повторяем элемент группы так же, как в itertools.obj.
# повторение элемента
# группы
grp
=
df.groupby (
`Имя`
)
для
имя, группа
в
grp:
print
(имя)
print
(group)
print
()
Вывод:
Теперь мы перебираем элемент группы содержащий несколько ключей
# повторение элемента
# группы, содержащей
# несколько ключей
grp
=
df.groupby ([
`Имя`
,
` Квалификация`
])
for
имя, группа
в
grp:
pr int
(name)
print
(группа)
print
( )
Вывод:
Как показано в выводе, имя группы будет кортежем
Выбор группы
Чтобы выбрать group, мы можем выбрать группу, используя GroupBy.get_group()
. Мы можем выбрать группу, применив функцию GroupBy.get_group
, эта функция выберет одну группу.
# pandas импорт модуля
import
pandas as pd
# Определить словарь, содержащий данные о сотрудниках
data1
=
{
`Имя`
: [
`Jai`
,
` Anuj`
,
`Jai`
,
` Princi`
,
`Gaurav`
,
`Анудж`
,
` Princi`
,
`Abhi`
],
print
(имя)
print
(group)
print
()
Вывод:
Как показано в выводе, имя группы будет кортеж
Групповой выбор
Чтобы выбрать группу, мы можем выбрать группу, используя GroupBy.get_group ()
. Мы можем выбрать группу, применив функцию GroupBy.get_group
, эта функция выберет одну группу .
# импорт модуля pandas
import
<класс кода = "обычный "> панды как pd