【发布时间】:2022-07-22 22:39:18
【问题描述】:
我有一个这样的熊猫数据框:
col_name
0 -1
1 -1
2 -3
3 2
4 1
5 -3
6 -2
7 4
8 3
9 5
可以使用代码创建:
import pandas as pd
df = pd.DataFrame(
{
'col_name': [-1, -1, -3, 2, 1, -3, -2, 4, 3, 5]
}
)
我想找到 x 行之前的行和行本身具有正值和 y 行之前的行 x 行具有负值以及这些 y 行的最后一行是实际上,当前行之前的y 行与之前的k 行相比具有最小值。
因此,对于 x=1、y=2 和 k=2,输出为:
col_name
4 1
(索引 8 不在输出中,因为即使它本身和它之前的一行具有正值,并且它们之前的两行具有负值,但是具有负值的最后一行是索引 6,没有与自身前两行相比的最小值。)
另外,我的首要任务是不对代码使用任何 for 循环。
你对此有什么想法吗?
【问题讨论】: