通过循环遍历Python中的行来连接

时间:2018-04-21 03:33:07

标签: python pandas loops

我一直在寻找一种方法来做到这一点,但是没有成功找到可以在python / pandas中运行的东西。

我希望循环遍历行,直到再次找到1并连接前一行,直到找到一行并将其放在第三列中。

例如:

DF

'A'  'B'  'C'
 1    4    4
 2    3    43
 3    1    431
 4    2    4312
 1    5    5
 2    4    54
 1    2    2
 2    2    22
 3    4    224

df
if df['A'] == 1
   df['C'] = df.concat['B']
else 
   df['C'] = df.concat['B'] + df.concat['B'+1]

如果你不能说,这是我第一次尝试写一个循环。

使用python代码从列A和B生成列C的任何帮助都将非常受欢迎。

谢谢你, 詹姆斯

1 个答案:

答案 0 :(得分:1)

这可以实现您的需求,使用cumsum创建新密钥,然后我们再次使用cumsum对我们创建的密钥进行分组

df.groupby(df.A.eq(1).cumsum()).B.apply(lambda x : x.astype(str).cumsum())
Out[838]: 
0       4
1      43
2     431
3    4312
4       5
5      54
6       2
7      22
8     224
Name: B, dtype: object