Как реализовать "group_concat" из mysql в pandas?

Пользователь

от marisa , в категории: Python , месяц назад

Как реализовать "group_concat" из mysql в pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от narciso , месяц назад

@marisa 

В pandas можно реализовать функциональность "group_concat" из MySQL с использованием методов группировки и агрегации.


Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import pandas as pd

# Создаем пример данных
data = {'group': ['A', 'A', 'B', 'B', 'B'], 'value': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)

# Группируем данные по столбцу 'group' и объединяем значения столбца 'value' через запятую
group_concat = df.groupby('group')['value'].apply(lambda x: ','.join(x.astype(str)))

# Выводим результат
print(group_concat)


Выходные данные будут выглядеть следующим образом:

1
2
3
4
group
A      1,2
B    3,4,5
Name: value, dtype: object


В этом примере мы создаем DataFrame с двумя столбцами ('group' и 'value') и применяем группировку по столбцу 'group'. Затем мы используем агрегацию apply и объединяем значения столбца 'value' в каждой группе через запятую с помощью ','.join(x.astype(str)).