Pandas: como concatenar strings usando groupby
Você pode usar a seguinte sintaxe básica para concatenar strings de GroupBy em pandas:
df. groupby ([' group_var '], as_index= False ). agg ({' string_var ': ' ' .join })
Esta fórmula específica agrupa as linhas pela coluna group_var e concatena as strings na coluna string_var .
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: como concatenar strings usando GroupBy
Suponha que temos o seguinte DataFrame do pandas:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
' quarter ': [1, 1, 2, 2, 1, 1, 2, 2],
' employee ': ['Andy', 'Bob', 'Chad', 'Diane',
'Elana', 'Frank', 'George', 'Hank']})
#view DataFrame
print (df)
Podemos usar a seguinte sintaxe para agrupar as linhas do DataFrame por loja e trimestre e depois concatenar as strings na coluna do funcionário :
#group by store and quarter, then concatenate employee strings
df. groupby ([' store ', ' quarter '], as_index= False ). agg ({' employee ':''. join })
store quarter employee
0 To 1 Andy Bob
1 A 2 Chad Diane
2 B 1 Elana Frank
3 B 2 George Hank
O resultado é um DataFrame agrupado por loja e trimestre com as strings da coluna do funcionário concatenadas com um espaço.
Também poderíamos concatenar as strings usando um separador diferente, como o símbolo & :
#group by store and quarter, then concatenate employee strings
df. groupby ([' store ', ' quarter '], as_index= False ). agg ({' employee ':' & '. join })
store quarter employee
0 To 1 Andy & Bob
1 A 2 Chad & Diane
2 B 1 Elana & Frank
3 B 2 George & Hank
Observe que as strings na coluna funcionário agora estão separadas pelo símbolo & .
Nota : Você pode encontrar a documentação completa da operação GroupBy no pandas aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:
Pandas: como calcular a soma acumulada por grupo
Pandas: como contar valores únicos por grupo
Pandas: como calcular a correlação por grupo