【发布时间】:2013-07-24 08:24:28
【问题描述】:
我有一个这样的数据框:
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
所以我希望任何系列方法都可以工作。有什么想法吗?
【问题讨论】: