title: Get n rows before specific value in pandas
body: <p>Say, i have the following dataframe:</p>
  
  <pre><code>import pandas as pd
  dict = {'val':[3.2, 2.4, -2.3, -4.9, 3.2, 2.4, -2.3, -4.9, 2.4, -2.3, -4.9], 
          'label': [0, 2, 1, -1, 1, 2, -1, -1,1, 1, -1]} 
  df = pd.DataFrame(dict) 
  df
       val    label
  0    3.2     0
  1    2.4     2
  2   -2.3     1
  3   -4.9    -1
  4    3.2     1
  5    2.4     2
  6   -2.3    -1
  7   -4.9    -1
  8    2.4     1
  9   -2.3     1
  10  -4.9    -1
  </code></pre>
  
  <p>I want to take each n (for example 2) rows before -1 value in column label. In the given df first -1 appears at index 3, we take 2 rows before it and drop index 3, then next -1 appears at index 6, we again keep 2 rows before and etc. The desired output is as following: </p>
  
  <pre><code>    val     label
  1    2.4     2
  2   -2.3     1
  4    3.2     1
  5    2.4     2
  6   -2.3    -1
  8    2.4     1
  9   -2.3     1
  </code></pre>
  
  <p>Thanks for any ideas!</p>