假设我有这样一个Pandas 数据帧:
first second third
1 2 2 1
2 2 1 0
3 3 4 5
4 4 6 3
5 5 4 3
6 8 8 4
7 3 4 2
8 5 6 6
可以使用以下代码创建:
dataframe = pd.DataFrame(
{
'first': [2, 2, 3, 4, 5, 8, 3, 5],
'second': [2, 1, 4, 6, 4, 8, 4, 6],
'third': [1, 0, 5, 3, 3, 4, 2, 6]
}
)
我想 Select 第二列的值大于第一列的值的行,同时第三列中的值小于第二列中k个连续行的值,其中这k个连续行中的最后一行正好在第二列的值大于第一列的值的行之前,k可以是2到4之间的任意整数(闭合区间).
因此,输出应该是行:
为了在pandas中使用条件行 Select 获得上述结果,我知道我应该编写如下代码:
dataframe[(dataframe['first'] < dataframe['second']) & (second_condition)].index
但是我不知道为我上面解释过的second_condition人写些什么.有人能帮我吗?