Pandas -如何“分组”,然后添加字符串

h22fl7wq  于 2023-03-21  发布在  其他
关注(0)|答案(1)|浏览(139)

在pandas中,我希望通过将B列中的字符串相加来对A列中的值进行“分组”。此外,我希望分组仅在相同的值出现在同一组中时发生。如果该值中有一个中断,那么我希望重新开始分组。
理想情况下,我想这样做没有循环。
不知道从哪里开始。有没有人对最好的Pandas功能有什么建议?
这是一个例子。我想把它转换成:

'A' 'B'
0   faa hello
1   faa there
2   foo hi
3   faa how
4   faa are
5   faa you
6   foo i am well
7   foo thank you

变成这样:

'A' 'B'
0   faa hello there
2   foo hi
3   faa how are you
6   foo i am well thank you
tzdcorbm

tzdcorbm1#

“如果那个值中有一个中断,那么我正在寻找重新开始的分组。”有点棘手-我们用一个特殊的groupby条件来完成:

df.groupby((df['A'] != df['A'].shift()).cumsum()).agg({'A':'first', 'B':' '.join})

输出:

A   B
A       
1   faa hello there
2   foo hi
3   faa how are you
4   foo i am well thank you

相关问题