我有一个这样的数据框:
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/genic/pandas.Series.unique.html)无效,但是
df.groupby("A")["B"]
是一个
pandas.core.groupby.SeriesGroupBy object
所以我希望任何Series方法都可以。有任何想法吗?
apply
和lambda
的需要。我来到这里想知道为什么pandas
实际上会合并而不在汇总字符串时返回错误。