title: Drop rows from a dataframe with a non-numeric index
body: <p>I have been using pandas to do some interesting filtering of CSV files, but have ran into a roadblock.  I am trying to check my index column for garbled text (non-integer) data, and remove those lines.  I've tried removing them from dataframe upon import using conditionals, and i've tried iterating them out afterwards without success.  Here is an example:</p>
  
  <pre><code>df = pd.read_csv(file, encoding='cp1252').set_index("numbers")
  results = df[df["columnA"].str.contains("search_data") &amp; ~df["columnB"].isin(seach_list)]
  #I need to add to the above statement to check column "numbers" which I have set to be the index,
  #to catch some expected garbled text and filter it out... because it is
  #an integer, I can't use str.contains or isdigit or isalnum, I've tried to do len(df["columns"] &lt; 20 , df.index &lt; 20 .... i've tried 
  #i've tried a few other options at this point as well
  # after bringing it in, I've also tried iterating through it:
  #
  for index, row in results.iterrows():
      if not (isinstance( row["numbers"], int )):
           print(str(row["numbers"]))
           #append whole row to new dataframe
  #This also didn't work   
  </code></pre>
  
  <p>Any thoughts on what I can do?</p>
  
  <pre><code>Example data in the "numbers columns = 329381432
  Example garbled text in "numbers" column that I am 
  trying to keep from importing: äu$ÒÔ”5$ò"Â$”äu$ÒÔ”5$ò 
  </code></pre>
  
  <p>As a side note, I had to change the encoding of the pd function so that I can still read all the good data in the files when there was some non utf-8 data... otherwise it would throw an error on import.</p>