python: как собрать всех учеников одного класса и сохранить в одном месте? - PullRequest
1 голос
/ 27 февраля 2020

у меня есть датафрейм вроде

import pandas as pd
df = pd.DataFrame({'class': ['cla1', 'cla1','cla1','cla2', 'cla2','cla3'],
                   'student': ['stu1', 'stu2', 'stu3', 'stu4', 'stu5', 'stu6']})
  class student 
0  cla1    stu1
1  cla1    stu2
2  cla1    stu3
3  cla2    stu4
4  cla2    stu5
5  cla3    stu6

что я хочу это, но я не знаю, как это сделать.

  class student 
0  cla1    stu1, stu2, stu3
1  cla2    stu4, stu5
2  cla3    stu6

есть ли какая-нибудь функция типа pivot_talbe сделать это?

1 Ответ

0 голосов
/ 27 февраля 2020

thx to Heike ,

df.groupby('class', as_index=False).aggregate(list)

# result
  class             student
0  cla1  [stu1, stu2, stu3]
1  cla2        [stu4, stu5]
2  cla3              [stu6]

Интересно, есть ли способ снять квадратные скобки сразу?

...