假设我有一个像以下那样的DataFrame。
A B
0 text1 200
1 text2 200
2 text1 400
3 text2 500
4 text1 300
5 text1 600
6 text2 300
我想打印以下输出
A B
0 text1,text2 200
2 text1 400
3 text2 500
4 text1,text2 300
5 text1 600
没有订单,我只想采用列“A”的文本标签来匹配“B”列中的值。如我所知,这必须与df.groupby
完成。我的努力还没有任何成功。希望你能得到我的问题。
答案 0 :(得分:8)
您可以 使用plain ol' sum
:
In [11]: df.groupby('B').sum()
Out[11]:
A
B
200 text1text2
300 text1text2
400 text1
500 text2
600 text1
一起使用
In [12]: df.groupby('B').agg(lambda x: ', '.join(x.values))
Out[12]:
A
B
200 text1, text2
300 text1, text2
400 text1
500 text2
600 text1