熊猫序列的唯一ID

时间:2018-10-18 00:50:04

标签: python pandas

我想为熊猫数据框中的每个序列生成一个唯一的ID,其中序列的开始是从另一列中标记出来的。

我有X,Y和BOOL列,并希望生成NEW_ID列

X  Y  BOOL  NEW_ID

x  y  TRUE    1
x  y  FALSE   1
x  y  FALSE   1
x  y  TRUE    2
x  y  FALSE   2
x  y  FALSE   2
x  y  FALSE   2
x  y  TRUE    3
x  y  TRUE    4
x  y  FALSE   4

我试图找到一个没有for循环的解决方案,因为我的数据帧很大,而且花费的时间太长。.

1 个答案:

答案 0 :(得分:0)

在BOOL列中使用cumsum

df['New_ID']=df.BOOL.cumsum()
df
Out[39]: 
   X  Y   BOOL  NEW_ID  New_ID
0  x  y   True       1       1
1  x  y  False       1       1
2  x  y  False       1       1
3  x  y   True       2       2
4  x  y  False       2       2
5  x  y  False       2       2
6  x  y  False       2       2
7  x  y   True       3       3
8  x  y   True       4       4
9  x  y  False       4       4