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

#create DataFrame
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 A 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 A 1 Andy & Bob
1 A 2 Chad & Diane
2 B 1 Elana & Frank
3 B 2 George & Hank

Обратите внимание, что строки в столбце сотрудников теперь разделены символом & .

Примечание.Полную документацию по операции GroupBy в pandas можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.