Combine varias filas (con algunos valores que no sean de cadena) con el mismo ID en una fila delimitada en pandas

Tengo un conjunto de datos como este:

ID Name 1 a 1 b 1 2 1 3 2 er 2 get 2 better 3 123 3 cold 3 warm 3 sweet 3 heat 

y quiero agrupar estos datos para que la columna de datos “nombre” que tenga la misma “identificación” se fusione mediante un delimitador. Algo como esto:

 ID Name 1 a,b,2,3 2 er,get,better 3 123,cold,warm,sweet,heat 

y así.

¿Alguien puede proporcionarme una forma pythonica de hacer esto?

Usa ','.join a un groupby

 df.groupby('ID').Name.apply(','.join) ID 1 a,b,c,d 2 er,get,better 3 hot,cold,warm,sweet,heat Name: Name, dtype: object 

Restablece el índice si necesitas esas mismas dos columnas

 df.groupby('ID').Name.apply(','.join).reset_index() ID Name 0 1 a,b,c,d 1 2 er,get,better 2 3 hot,cold,warm,sweet,heat 

Si por alguna razón no tienes artículos de cuerda.

 df.assign(Name=df.Name.astype(str)).groupby('ID').Name.apply(','.join).reset_index() ID Name 0 1 a,b,c,d 1 2 er,get,better 2 3 hot,cold,warm,sweet,heat