RustyShackleford
RustyShackleford

Reputation: 3667

How to concat strings in rows groupby column and index in dataframe?

I have a dataframe that looks like this:

    text
0   dog went to the store.    
0   cat is tall.
0   blue is red.
1   red is blue
1   blue is red

How do I concat the strings by row and group by index, so that the new df looks like this?:

    text
0   dog went to the store. cat is tall. blue is red.  
1   red is blue.blue is red

I've tried, but this is doing nothing and returns back the same number of rows, not sure where to go from here:

 df[['text']].groupby(df.index)['text'].transform(lambda x: ','.join(x))

Upvotes: 1

Views: 50

Answers (1)

PaulS
PaulS

Reputation: 25333

A possible solution (just replace transform by agg):

df[['text']].groupby(df.index)['text'].agg(lambda x: ','.join(x))

Output:

0    dog went to the store.,cat is tall.,blue is red.
1                             red is blue,blue is red
Name: text, dtype: object

Upvotes: 1

Related Questions