可以说我有一个像下面的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
完成。我的努力还没有成功。希望你能回答我的问题。 最佳答案
您可以使用plain ol' sum
几乎做到这一点:
In [11]: df.groupby('B').sum()
Out[11]:
A
B
200 text1text2
300 text1text2
400 text1
500 text2
600 text1
您可以将aggregate与
join
结合使用: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
关于python - Pandas 数据框分组显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18056473/