我希望仅保留一个 Dataframe
的行,满足以下条件:开始条件为col1 = 0, col2 = 1
,结束条件为col1 = 0, col2 = 2
的区间(包括起始和结束)。
示例数据
import pandas as pd
pd.DataFrame({'id':['id1','id1','id1','id1','id1','id1','id1','id1','id1','id1','id1','id2','id2','id2','id2','id2']
,'col1':[0,1,1,0,1,0,0,1,1,0,0,1,0,0,1,1],'col2':[1,2,2,1,2,2,1,2,2,2,1,2,2,1,2,2]})
这将看起来像这样:
col1 col2 id
0 0 1 id1
1 1 2 id1
2 1 2 id1
3 0 1 id1
4 1 2 id1
5 0 2 id1
6 0 1 id1
7 1 2 id1
8 1 2 id1
9 0 2 id1
10 0 1 id1
11 1 2 id2
12 0 2 id2
13 0 1 id2
14 1 2 id2
15 1 2 id2
输出示例
我们可以发现,在col1,col2
中仅存在0-1,0-2
这些“块”或区间。
col1 col2 id
3 0 1 id1
4 1 2 id1
5 0 2 id1
6 0 1 id1
7 1 2 id1
8 1 2 id1
9 0 2 id1
10 0 1 id1
11 1 2 id2
12 0 2 id2
由于它们不在0-1、0-2区间内,因此第0,1,2,13,14,15行都被删除了。
3 1 1 id1
而不是 0。如果组以(0,1)
开始并以(0,2)
结束,则 Op 希望得到该组。 - Bharath M Shettydf = pd.DataFrame({'id':['id1','id1','id1','id1','id1','id1','id1','id1','id1','id1','id1','id2','id2','id2','id2','id2'] ,'col1':[1,1,1,1,1,0,0,1,1,0,0,1,0,0,1,1],'col2':[1,2,2,1,2,2,1,2,2,2,1,2,2,1,2,2]})
- Bharath M Shetty