大熊猫时间条件满足显示接下来的几行

时间:2016-09-17 17:20:49

标签: pandas

我有一个pandas数据框,其中包含来自Yahoo Finance的AAPL的日终数据。我正在寻找数据中的某个条件来满足(例如,当一天的收盘接近当天的低点时),之后(例如,在2012-01-01条件得到满足),我想立即看到接下来的几行(我对2012-01-02和2012-01-03等AAPL的收盘价感兴趣)。

我使用了数据帧查询,这会导致条件匹配的行。我不知道如何在匹配的条件行之后立即提取行。

我该如何完成此操作? “查询”是错误的方法吗?

谢谢你, d

1 个答案:

答案 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