在熊猫中,我期待着"分组依据";a列中的一个值,将B列中的字符串相加。此外,我希望只有当相同的值出现在同一组中时才进行分组。如果该值出现中断,那么我正在寻找重新开始分组的方法。
理想情况下,我希望在不循环的情况下完成此操作。
不知道从哪里开始。有人对熊猫的最佳功能有什么建议吗?
下面是一个例子。我想转换这个:
'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
;如果该值出现中断,那么我正在寻找重新开始分组的方法"这有点棘手——我们用一个特殊的分组条件来简化它:
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