我有一个pandas数据框,其中包含来自Yahoo Finance的AAPL的日终数据。我正在寻找数据中的某个条件来满足(例如,当一天的收盘接近当天的低点时),之后(例如,在2012-01-01条件得到满足),我想立即看到接下来的几行(我对2012-01-02和2012-01-03等AAPL的收盘价感兴趣)。
我使用了数据帧查询,这会导致条件匹配的行。我不知道如何在匹配的条件行之后立即提取行。
我该如何完成此操作? “查询”是错误的方法吗?
谢谢你, d
答案 0 :(得分:1)
你知道你会得到一个结果吗?然后你可以手动或多或少地获得它们,如下所示:
In [44]: df # Example DataFrame
Out[44]:
c1 c2
0 a 5
1 b 10
2 c 15
In [45]: index = df[df['c1'] == 'b'].index[0] # Get the index of the row of interest.
In [47]: df.iloc[range(index, index + 2)] # Get that row and whatever follows immediately after
Out[47]:
c1 c2
1 b 10
2 c 15
如果您有多个结果,请改为迭代df[df['c1'] == 'b'].index
。