Используйте ','.join
в 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
Сбросьте индекс, если вам нужны те же два столбца
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
Если по какой-то причине у вас нетстроковые элементы
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