У меня есть такой фрейм данных:
A B C
0 1 0.749065 This
1 2 0.301084 is
2 3 0.463468 a
3 4 0.643961 random
4 1 0.866521 string
5 2 0.120737 !
призвание
In [10]: print df.groupby("A")["B"].sum()
вернется
A
1 1.615586
2 0.421821
3 0.463468
4 0.643961
Теперь я хотел бы сделать «то же самое» для столбца «C». Поскольку этот столбец содержит строки, sum () не работает (хотя вы можете подумать, что он объединит строки). Что мне действительно хотелось бы видеть, так это список или набор строк для каждой группы, т.е.
A
1 {This, string}
2 {is, !}
3 {a}
4 {random}
Я пытался найти способы сделать это.
Series.unique () ( http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.unique.html ) не работает, хотя
df.groupby("A")["B"]
это
pandas.core.groupby.SeriesGroupBy object
поэтому я надеялся, что любой метод Series будет работать. Любые идеи?
apply
иlambda
. Я пришел сюда, задаваясь вопросом, почему наpandas
самом деле объединяются и не возвращаются ошибки при суммировании строк.