Pandas: como combinar linhas com os mesmos valores de coluna


Você pode usar a seguinte sintaxe básica para combinar linhas com os mesmos valores de coluna em um DataFrame do pandas:

 #define how to aggregate various fields
agg_functions = {' field1 ': ' first ', ' field2 ': ' sum ', ' field ': ' sum '}

#create new DataFrame by combining rows with same id values
df_new = df. groupby (df[' id ']). aggregate (agg_functions)

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: Combine linhas com os mesmos valores de coluna em Pandas

Suponha que temos o seguinte DataFrame do pandas que contém informações sobre vendas e devoluções feitas por diversos funcionários de uma empresa:

 import pandas as pd

#create dataFrame
df = pd. DataFrame ({' id ': [101, 101, 102, 103, 103, 103],
                   ' employee ': ['Dan', 'Dan', 'Rick', 'Ken', 'Ken', 'Ken'],
                   ' sales ': [4, 1, 3, 2, 5, 3],
                   ' returns ': [1, 2, 2, 1, 3, 2]})

#view DataFrame
print (df)

    id employee sales returns
0 101 Dan 4 1
1 101 Dan 1 2
2 102 Rick 3 2
3 103 Ken 2 1
4 103 Ken 5 3
5 103 Ken 3 2

Podemos usar a seguinte sintaxe para combinar linhas que possuem o mesmo valor na coluna id e então agregar as colunas restantes:

 #define how to aggregate various fields
agg_functions = {' employee ': ' first ', ' sales ': ' sum ', ' returns ': ' sum '}

#create new DataFrame by combining rows with same id values
df_new = df. groupby (df[' id ']). aggregate (agg_functions)

#view new DataFrame
print (df_new)

    employee sales returns
id                          
101 Dan 5 3
102 Rick 3 2
103 Ken 10 6

O novo DataFrame combinou todas as linhas do DataFrame anterior que tinham o mesmo valor na coluna id e , em seguida, calculou a soma dos valores nas colunas vendas e devoluções .

Nota : Consulte a documentação do pandas para obter uma lista completa de agregações disponíveis para uso com a função GroupBy() .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Pandas: como encontrar a diferença entre duas colunas
Pandas: como encontrar a diferença entre duas linhas
Pandas: como classificar colunas por nome

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *