Pandas: как объединить строки с помощью groupby


Вы можете использовать следующий базовый синтаксис для объединения строк из GroupBy в pandas:

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

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

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: как объединить строки с помощью GroupBy

Предположим, у нас есть следующий DataFrame 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)

Мы можем использовать следующий синтаксис для группировки строк 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:

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *