Groupby Text Concatenation

Groupby functions are often using for mathematical operations. But the can also be used for text aggregation. Below is an example of groupby concatenation for text

import pandas as pd

data = pd.DataFrame( { 'UserID': ['A' , 'A', 'A', 'B', 'B'] ,
                        'Event': ['Click', 'Click', 'Conversion', 'Click', 'Click'] } )

Visualizing the data

data 
UserID Event
0 A Click
1 A Click
2 A Conversion
3 B Click
4 B Click

Group Concat

We are interested in determining the sequence of events for every user event into one line

paths = data.groupby(['UserID'])['Event'].apply(lambda x: ' -> '.join(x))

path.reset_index()
UserID Event
0 A Click -> Click -> Conversion
1 B Click -> Click