0

I have a dataframe df like the following

df
    A   B
0   1  Tom
1   1  Alice
2   2  Sarah
3   3  Jack

I would like to groupby and count on A and have something like the following

df
    A   count  names
0   1     2    Tom, Alice
1   2     1    Sarah
2   3     1    Jack
Malik Asad
  • 441
  • 4
  • 15
emax
  • 6,965
  • 19
  • 74
  • 141
  • `df.groupby('A').agg(count=('A','size'),names=('B',', '.join)).reset_index()` – Erfan Aug 23 '19 at 09:48
  • @Erfan it gives me an error `TypeError: aggregate() missing 1 required positional argument: 'arg' ` – emax Aug 23 '19 at 09:52
  • That means you dont have the latest `pandas` version, I suggest you update. Else use `df.groupby('A').agg({'A':'size', 'B': ', '.join}).rename({'A':'count'}, axis=1).reset_index()` – Erfan Aug 23 '19 at 10:00

0 Answers0