如何删除每组中的前导 0 记录 pandas python

how to remove leading 0 record in each group pandas python

假设有记录

index order group Data
1 1 A 0
2 2 A 0
3 3 A 0
4 4 A 1
5 5 A 2
6 6 A 1
7 1 B 0
8 2 B 2
9 3 B -1
10 4 B 0
11 5 B 2
12 6 B 4

我想排除每组中的前导 0 记录数据

期待结果

index order group Data
4 4 A 1
5 5 A 2
6 6 A 1
8 2 B 2
9 3 B -1
10 4 B 0
11 5 B 2
12 6 B 4

我该如何解决这个问题?我看到了 lstrip() 但它只适用于每条记录。

使用GroupBy.cummax with comapre for not equal 0 in boolean indexing:

df1 = df[df['Data'].ne(0).groupby(df['group']).cummax().ne(0)]
print (df1)
    index  order group  Data
3       4      4     A     1
4       5      5     A     2
5       6      6     A     1
7       8      2     B     2
8       9      3     B    -1
9      10      4     B     0
10     11      5     B     2
11     12      6     B     4