我有一个Pandas 数据框,是这样的:
col
0 3
1 5
2 9
3 5
4 6
5 6
6 11
7 6
8 2
9 10
它可以用以下代码在Python中创建:
import pandas as pd
df = pd.DataFrame(
{
'col': [3, 5, 9, 5, 6, 6, 11, 6, 2, 10]
}
)
我要查找值大于8
的行,并且在它们之前至少有一行的值小于4
.
因此,输出应为:
col
2 9
9 10
您可以看到,索引0
的值等于3
(小于4
),然后索引2
的值大于8
.因此,我们将索引2
添加到输出中,并继续判断下一行.但我们不再考虑指数0, 1, 2
,而是重置工作.
索引6
的值等于11
,但是没有一个索引3, 4, 5
的值小于4
,因此我们不将索引6
添加到输出中.
索引8
的值等于2
(小于4
),而索引9
的值等于10
(大于8
),因此将索引9
添加到输出.
我的首要任务是不使用任何for-loops作为代码.
你知道这件事吗?