Pandy: jak łączyć ciągi znaków za pomocą groupby
Możesz użyć następującej podstawowej składni, aby połączyć ciągi z GroupBy w pandach:
df. groupby ([' group_var '], as_index= False ). agg ({' string_var ': ' ' .join })
Ta konkretna formuła grupuje wiersze według kolumny group_var , a następnie łączy ciągi w kolumnie string_var .
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Jak łączyć ciągi znaków za pomocą GroupBy
Załóżmy, że mamy następującą ramkę DataFrame pand:
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)
Możemy użyć następującej składni, aby pogrupować wiersze ramki DataFrame według sklepu i kwartału , a następnie połączyć ciągi w kolumnie pracownika :
#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
Wynikiem jest ramka DataFrame pogrupowana według sklepów i kwartałów z ciągami kolumn pracowników połączonymi spacją.
Możemy również połączyć ciągi znaków, używając innego separatora, takiego jak symbol & :
#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
Zwróć uwagę, że ciągi w kolumnie pracownika są teraz oddzielone symbolem & .
Uwaga : pełną dokumentację operacji GroupBy w pandach znajdziesz tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na pandach:
Pandy: jak obliczyć skumulowaną sumę na grupę
Pandy: jak liczyć unikalne wartości według grupy
Pandy: jak obliczyć korelację według grup