Используйте groupby
и agg
, как указано ниже:
import pandas as pd
from functools import reduce
data = {'col1': [1,1,2,2,3], 'col2': ['foo', 'bar', 'baz', 'bag', 'bat']}
df = pd.DataFrame(data)
print(df)
aggregated = df.groupby('col1').agg(lambda x: reduce(lambda s1, s2: s1 + s2, x))
print(aggregated)
Будет выдавать следующий вывод:
col1 col2
0 1 foo
1 1 bar
2 2 baz
3 2 bag
4 3 bat
col2
col1
1 foobar
2 bazbag
3 bat