Python 如果列值的顺序更改,则拆分数据帧

Python 如果列值的顺序更改,则拆分数据帧,python,pandas,Python,Pandas,我有一个以下形式的数据集: A B C D label 6 2 6 8 0 2 5 3 6 0 4 3 4 9 1 5 7 5 5 1 6 4 5 8 0 其中每一行都是一个具有唯一值的标签,并且该唯一值在一些行之后重复,因此如果我这样做,则有7个标签到7000行 df.loc[df['label']==0] 它将获取标记为0的行的所有值,但我想根据第一个标记集0提取值,如果

我有一个以下形式的数据集:

A   B   C   D   label
6   2   6   8     0
2   5   3   6     0 
4   3   4   9     1 
5   7   5   5     1
6   4   5   8     0
其中每一行都是一个具有唯一值的标签,并且该唯一值在一些行之后重复,因此如果我这样做,则有7个标签到7000行 df.loc[df['label']==0]
它将获取标记为0的行的所有值,但我想根据第一个标记集0提取值,如果前10行标记为0,那么它只会在数据框中将它们而不是其他标记为0的行

我们可能需要一个新参数

df=df.assign(new=df.label.diff().ne(0).cumsum())
df[df.new==df.groupby('label').new.transform('min')]
Out[206]: 
   A  B  C  D  label  new
0  6  2  6  8      0    1
1  2  5  3  6      0    1
2  4  3  4  9      1    2
3  5  7  5  5      1    2
保存到列表

s=df[df.new==df.groupby('label').new.transform('min')];
l=[df1 for _, df1 in s.groupby('label')]

我也需要像这样保存这个格式,1-0,这是1个文件号,0是一个标签,但我有7个标签和7000行,标签随机出现,但以5或10行的形式,我需要分别保存它们,希望你理解,你能写下“for”块中的内容吗,我的意思是完整地写下这些语句,和s=…中的分号。。。。。是错的吗?它在l=[s.groupby('label')中的u,df1]中有一个错误,表示表达式需要下划线for@MuhammadHassan我更改了…
[df1 for uu,df1 in s.groupby('label')]
,请检查更新@Wen我需要以这种样式保存文件,如“new label”.csv,是否有任何方法可以这样做,只需选择新的列值,标签中就有相应的值,