Pandas 数据框 groupby 按相反顺序求和字符串
我有一个像这样的 DataFrame:
colA colB
1 aaa
1 rrr
1 www
2 bbb
2 ccc
2 sss
...
我想按如下方式转换 DataFrame
colA Sum
1 wwwrrraaa
2 ssscccbbb
...
我尝试过
df.groupby(['colA'])['colB'].sum().reset_index()
,但字符串的总和被颠倒了。有没有一种优雅的方法来做到这一点?
I have a DataFrame like this:
colA colB
1 aaa
1 rrr
1 www
2 bbb
2 ccc
2 sss
...
I would like to convert the DataFrame as follows
colA Sum
1 wwwrrraaa
2 ssscccbbb
...
I tried
df.groupby(['colA'])['colB'].sum().reset_index()
but the sum of strings are reversed. Is there an elegant way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不要使用 sum 来连接字符串。它看起来很花哨,但它是二次的,应该被认为是不好的做法。在Python中使用函数
join
Don't use sum to concatenate strings. It looks fancy but it's quadratic and should be considered bad practice. In python is use function
join
反转数据帧;然后
groupby
+sum
:输出:
Reverse the DataFrame; then
groupby
+sum
:Output: