Python 序列的唯一id
我想为pandas数据帧中的每个序列生成一个唯一的id,其中序列的开头是从另一列标记的 我有X、Y和BOOL列,并希望生成新的_ID列Python 序列的唯一id,python,pandas,Python,Pandas,我想为pandas数据帧中的每个序列生成一个唯一的id,其中序列的开头是从另一列标记的 我有X、Y和BOOL列,并希望生成新的_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 我
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循环的解决方案,因为我有一个大的数据帧,需要花费太长的时间。使用带有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