Pandas dataframe groupby 逆序求和字符串
Pandas dataframe groupby sum strings in reverse order
我有一个这样的 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()
但字符串的总和是相反的。有没有一种优雅的方法可以做到这一点?
反转DataFrame;然后 groupby
+ sum
:
out = df[::-1].groupby('colA', as_index=False)['colB'].sum()
输出:
colA colB
0 1 wwwrrraaa
1 2 ssscccbbb
不要使用求和来连接字符串。它看起来很花哨,但它是二次方的,应该被认为是不好的做法。在 python 中使用函数 join
df = df[::-1].groupby('colA')['colB'].agg(''.join).reset_index()
我有一个这样的 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()
但字符串的总和是相反的。有没有一种优雅的方法可以做到这一点?
反转DataFrame;然后 groupby
+ sum
:
out = df[::-1].groupby('colA', as_index=False)['colB'].sum()
输出:
colA colB
0 1 wwwrrraaa
1 2 ssscccbbb
不要使用求和来连接字符串。它看起来很花哨,但它是二次方的,应该被认为是不好的做法。在 python 中使用函数 join
df = df[::-1].groupby('colA')['colB'].agg(''.join).reset_index()