Grupo — conceito bastante simples. Podemos criar um grupo de categorias e aplicar a função às categorias. É um conceito simples, mas é uma técnica extremamente valiosa que é amplamente utilizada em dados ciência. Em projetos de data science do mundo real, você lidará com grandes quantidades de dados e tentar fazer as coisas repetidamente, por isso, para eficiência, usamos o conceito Groupby. O conceito Groupby é realmente importante porque é capaz de combinar dados de forma eficiente, tanto em termos de desempenho quanto de quantidade de código. Agrupamento refere-se principalmente a um processo que envolve uma ou mais das seguintes etapas:
- Separação: é um processo no qual dividimos os dados em grupos aplicando algumas condições aos conjuntos de dados .
- Aplicação: é um processo no qual aplicamos uma função a cada grupo de forma independente
- Consolidação: é um processo no qual combinamos diferentes conjuntos de dados após aplicar o agrupamento e os resultados em uma estrutura de dados
A imagem a seguir ajudará você a entender o processo envolvido no conceito Groupby.
1. Agrupe os valores exclusivos ​​da coluna "Equipe".
2. Agora há um bucket para cada grupo
3. Jogue outros dados em buckets
4. Aplique a função à coluna de peso para cada bucket.
Dividir dados em grupos
Dividir — é um processo no qual dividimos os dados em grupos aplicando algumas condições aos conjuntos de dados. Para separar os dados, aplicamos certas condições aos conjuntos de dados. Para separar os dados, usamos groupby ()
esta função é usada para dividir os dados em grupos de acordo com alguns critérios . Os objetos Pandas podem ser subdivididos em qualquer um de seus eixos. Uma definição abstrata de agrupamento é fornecer um mapeamento de rótulos para nomes de grupos. Os conjuntos de dados do Pandas podem ser divididos em qualquer objeto. Existem várias maneiras de dividir dados, por exemplo:
Observação: aqui nos referimos ao agrupamento de objetos como chaves.
Agrupamento de dados com uma chave:
Para agrupar dados com uma chave, passamos apenas uma chave como argumento para o groupby
função.
< br>
|
Saída:
Agrupar dados com várias chaves:
para agrupar dados com várias chaves, transmitimos várias chaves em groupby
função.
# importação do módulo pandas
import
pandas as pd
# Defina um dicionário contendo dados de funcionários
data1
=
{
`Nome`
: [
`Jai`
,
` Anuj`
,
`Jai`
,
` Princi`
,
`Gaurav`
,
` Anuj`
,
`Princi`
,
` Abhi`
],
`Idade`
: [
27
,
24
,
22
,
32
,
33
,
36
,
27
,
32
],
`Endereço`
: [
` Nagpur`
,
`Kanpur`
,
` Allahabad`
,
`Kannuaj` ​​
,
`Jaunpur`
,
`Kanpur`
,
` Allahabad `
,
`Aligarh`
],
`Qualificação`
: [
`Msc`
,
` MA`
,
` MCA`
,
` Phd`
,
`B.Tech`
,
`B.com`
,
` Msc`
,
`MA`
]}
# Converter dicionário em DataFrame
df
=
pd. DataFrame (data1)
(df)
Agora vamos agrupar os dados de Nome e Qualificação usando várias chaves na função groupby
funcionam.
Saída: Agrupando dados por classificação de chave:
|
Agora estamos aplicando groupby ()
sem classificação
# usando a função groupby
# sem usar classificação
df.groupby ([
`Nome`
]).
soma
()
Saída:
Agora usamos groupby ()
usando a classificação para obter uma aceleração potencial.
Saída: Agrupando dados com atributos de objeto:
|
Saída:
Iterando sobre os grupos
Para iterar sobre o item de grupos, podemos iterar sobre um objeto semelhante a iterto.ols .
# pandas module import
import
pandas as pd
# Defina o dicionário contendo os dados sobre os funcionários
data1
=
{
`Nome`
: [
` Jai`
,
` Anuj`
,
`Jai`
,
`Princi`
,
`Gaurav`
,
` Anuj `
,
` Princi`
,
`Abhi`
],
` Idade`
: [
27
,
24
,
22
,
32
,
33
,
36
,
27
,
32
],
` Endereço`
: [
` Nagpur`
,
`Kanpur`
,
`Allahabad`
,
`Kannuaj` ​​
,
` Jaunpur `
,
` Kanpur`
,
`Allahabad`
,
` Aligarh`
],
`Qualificação`
: [
`Msc`
,
`MA`
,
`MCA`
,
`Phd`
,
`B.Tech`
,
` B.com`
,
`Msc`
,
` MA `
]}
# Converte o dicionário para DataFrame
df
=
pd.DataFrame (data1)
print < /código>
Agora repetimos o elemento group como fazemos em itertools.obj.
# repetição de elemento
Grupo #
grp
=
df.groupby (
`Nome`
)
para
nome, grupo
em
grp:
print
(nome)
print
(grupo)
print
()
Saída:
Agora iteramos sobre um elemento de grupo contendo várias chaves
# repetição de elemento
# do grupo contendo
# várias chaves
grp
=
df.groupby ([
`Nome`
,
` Qualificação`
])
para
nome, grupo
em
grp:
print
(nome)
print
(grupo)
print
( )
Saída:
Como mostrado na saída, o nome do grupo será uma tupla
Seleção de grupo
Para selecionar um group, podemos selecionar um grupo usando GroupBy.get_group()
. Podemos selecionar um grupo aplicando a função GroupBy.get_group
esta função irá selecionar um grupo.
# pandas import
import
pandas as pd
# Define um dicionário contendo dados de funcionários
data1
=
{
`Nome`
: [
`Jai`
,
` Anuj`
,
`Jai`
,
` Princi`
,
`Gaurav`
,
`Anuj`
,
` Princi`
,
`Abhi`
],
print
(nome)
print
(grupo)
print
()
Saída:
Como mostrado na saída, o nome do grupo será uma tupla
Seleção de grupo
Para selecionar um grupo, podemos selecionar um grupo usando GroupBy.get_group()
. Podemos selecionar um grupo aplicando a função GroupBy.get_group
esta função selecionará um grupo .
# importação do módulo pandas
importação