Python 熊猫:根据另一列中的标志连接列中的字符串,直到标志更改为止
我正在尝试根据另一列中的值连接列中的字符串。虽然这本身并不困难,但这里标志的顺序很重要,因此我想不出一个pythonic方法来完成这项任务(目前正在尝试多个计数器/循环) 示例表:Python 熊猫:根据另一列中的标志连接列中的字符串,直到标志更改为止,python,pandas,Python,Pandas,我正在尝试根据另一列中的值连接列中的字符串。虽然这本身并不困难,但这里标志的顺序很重要,因此我想不出一个pythonic方法来完成这项任务(目前正在尝试多个计数器/循环) 示例表: text flag a 0 b 0 c 1 d 0 e 1 f 1 g 1 示例输出: text flag ab 0 c 1 d 0 efg 1 我想''。为连续的标志加入每个
text flag
a 0
b 0
c 1
d 0
e 1
f 1
g 1
示例输出:
text flag
ab 0
c 1
d 0
efg 1
我想''。为连续的标志加入每个字符串,直到点击下一个标志。唯一的标志是1和0。有什么想法吗
下面是生成示例数据的一种快速方法,这样您就不必自己动手了:
import pandas as pd
df = pd.DataFrame({'text':['a','b','c','d','e','f','g'], 'flag':[0,0,1,0,1,1,1]})
我会这样做:
In [6]: (df.groupby(df.flag.diff().ne(0).cumsum(), as_index=False)
.agg({'text':'sum','flag':'first'}))
Out[6]:
text flag
0 ab 0
1 c 1
2 d 0
3 efg 1