Объединить по признаку сходства столбцов A и B столбец C в один список
У меня есть df состоящий из 3х столбцов. Мне нужно объединить по признаку сходства столбцов A и B столбец C в один список. Вот так это должно выглядеть:
Вводные данные:
import pandas as pd
df = pd.DataFrame({'A': [112, 112, 152, 112, 152, 155],
'B': [15,15,17,15,17,18],
'C': [1,2,3,4,5,6]})
Вывод
df2:
A B C:
112 15 1,2,4
152 17 3,5
155 18 6
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
In [130]: df.groupby(["A", "B"])["C"].apply(list).reset_index()
Out[130]:
A B C
0 112 15 [1, 2, 4]
1 152 17 [3, 5]
2 155 18 [6]
если нужно получить строки:
In [133]: df.assign(C=df["C"].astype(str)).groupby(["A", "B"])["C"].apply(",".join).reset_index()
Out[133]:
A B C
0 112 15 1,2,4
1 152 17 3,5
2 155 18 6