Pandas: як об’єднати рядки за допомогою groupby


Ви можете використовувати наступний базовий синтаксис для об’єднання рядків із GroupBy у pandas:

 df. groupby ([' group_var '], as_index= False ). agg ({' string_var ': ' ' .join })

Ця конкретна формула групує рядки за стовпцем group_var , а потім об’єднує рядки в стовпці string_var .

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: як об’єднати рядки за допомогою GroupBy

Припустімо, що у нас є наступні pandas DataFrame:

 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)

Ми можемо використати такий синтаксис, щоб згрупувати рядки DataFrame за магазином і кварталом , а потім об’єднати рядки в стовпці співробітників :

 #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

Результатом є DataFrame, згрупований за магазином і кварталом із рядками стовпців співробітників , об’єднаними пробілом.

Ми також можемо об’єднати рядки за допомогою іншого роздільника, наприклад символу & :

 #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

Зверніть увагу, що рядки в стовпці співробітника тепер розділені символом & .

Примітка . Повну документацію щодо операції GroupBy в pandas можна знайти тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:

Панди: як розрахувати сукупну суму на групу
Pandas: як підрахувати унікальні значення по групах
Pandas: як розрахувати кореляцію за групою

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *