Home > Net >  How to concatenate a pandas column by a partition?
How to concatenate a pandas column by a partition?

Time:04-13

I have a pandas data frame like this:

df = pd.DataFrame({"Id": [1, 1, 1, 2, 2, 2, 2], "Letter": ['A', 'B', 'C', 'A', 'D', 'B', 'C']})

How can I add a new column efficiently, "Merge" such that it concatenates all the values from the column "letter" by "Id", so the final data frame would look like this:

output_df

CodePudding user response:

You can groupby Id column then transform

df['Merge'] = df.groupby('Id').transform(lambda x: '-'.join(x))
print(df)

   Id Letter    Merge
0   1      A    A-B-C
1   1      B    A-B-C
2   1      C    A-B-C
3   2      A  A-D-B-C
4   2      D  A-D-B-C
5   2      B  A-D-B-C
6   2      C  A-D-B-C
  • Related