title: Attempting to delete multiple rows from Pandas Dataframe but more rows than intended are being deleted
body: <p>I have a list, to_delete, of row indexes that I want to delete from both of my two Pandas Dataframes, df1 &amp; df2. They both have 500 rows. to_delete has 50 entries.
  I run this:</p>
  
  <pre><code>df1.drop(df1.index[to_delete], inplace=True)
  df2.drop(df2.index[to_delete], inplace=True) 
  </code></pre>
  
  <p>But this results in df1 and df2 having 250 rows each. It deletes 250 rows from each, and not the 50 specific rows that I want it to...</p>
  
  <p>to_delete is ordered in descending order.</p>
  
  <p>The full method:</p>
  
  <pre><code>def method(results):
      #results is a 500 x 1 matrix of 1's and -1s
      global df1, df2
      deletions = []
      for i in xrange(len(results)-1, -1, -1):
          if results[i] == -1:
          deletions.append(i)
      df1.drop(df1.index[deletions], inplace=True)
      df2.drop(df2.index[deletions], inplace=True)
  </code></pre>
  
  <p>Any suggestions as to what I'm doing wrong?</p>
  
  <p>(I've also tried using <code>.iloc</code> instead of <code>.index</code> and deleting in the <code>if statement</code> instead of appending to a list first. </p>