Скажем, у меня есть Pandas DataFrame:
x = pd.DataFrame(data=[5,4,3,2,1,0,1,2,3,4,5],columns=['value'])
x
Out[9]:
value
0 5
1 4
2 3
3 2
4 1
5 0
6 1
7 2
8 3
9 4
10 5
Теперь я хочу, учитывая индекс, найти строки в x
, пока не будет выполнено условие.Например, если index = 2
:
x.loc[2]
Out[14]:
value 3
Name: 2, dtype: int64
Теперь я хочу из этого index
найти следующие n
строки, в которых значение больше некоторого threshold
.Например, если threshold is 0
, результаты должны быть:
x
Out[9]:
value
2 3
3 2
4 1
5 0
Как я могу это сделать?
Я пытался:
x.loc[2:x['value']>0,:]
Но изКонечно, это не будет работать, потому что x['value']>0
возвращает логический массив:
Out[20]:
0 True
1 True
2 True
3 True
4 True
5 False
6 True
7 True
8 True
9 True
10 True
Name: value, dtype: bool