title: Filter numpy array by comparing elements to elements in prior row without looping
body: <p>I am very new to Python and NumPy and have spent a couple of days searching for an answer to this question.</p>
  
  <p>Consider the following 2D array of stock prices with columns 0 through 3 being the open, high, low and close prices with each row (0-6) being subsequent days.</p>
  
  <pre>      O      H      L      C
  0 | 43.97  43.97  43.75  43.94
  1 | 43.97  44.25  43.97  44.25
  2 | 44.22  44.38  44.12  44.34
  3 | 44.41  44.84  44.38  44.81
  4 | 44.97  45.09  44.47  45.00
  5 | 44.97  45.06  44.72  44.97
  6 | 44.97  45.12  44.91  44.97</pre>
  
  <p>For this example I will use O, H, L, or C to represent columns 0-3, and 0, 1 or 2 to represent a row <em>offset (backwards)</em> for O, H, L  or C.</p>
  
  <p>H2 would mean the value of column H two rows back, and C0 would mean the value of column C in the current row.  So in row 3, H2 would equal 44.25 and C0 would equal 44.81.</p>
  
  <p>I would like to get the rows from this type of array using conditions that effectively equate to the logical statement C0 > H2 or similar statement. Ultimately I want to include multiple comparisons like this to return a subset of the array rows.</p>
  
  <p>Is it possible to do this without looping through the array?</p>