我有一个以下形式的数据集:
plane
其中每一行都是具有唯一值的标签,并且该唯一值在某些行之后重复,因此如果我这样做,则会有7个标签到7000行 df.loc [df ['标签'] == 0] 它将获取0标记行的所有值,但我想根据第一个标签集0提取值,如果有前10行标记为0,那么它只是带来它们而不是其他标签0在数据框中
答案 0 :(得分:2)
我们可能需要一个新参数
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')]