title: Most efficient way to exclude indexed rows in pandas dataframe
body: <p>I'm relatively new to Python &amp; pandas and am struggling with (hierachical) indexes. I've got the basics covered, but am lost with more advanced slicing and cross-sectioning.</p>
  
  <p>For example, with the following dataframe</p>
  
  <pre><code>import pandas as pd
  import numpy as np
  data = pd.DataFrame(np.arange(9).reshape((3, 3)),
      index=pd.Index(['Ohio', 'Colorado', 'New York'], name='state'), columns=pd.Index(['one', 'two', 'three'], name='number'))
  </code></pre>
  
  <p>I want to select everything except the row with index 'Colorado'. For a small dataset I could do:</p>
  
  <pre><code>data.ix[['Ohio','New York']]
  </code></pre>
  
  <p>But if the number of unique index values is large, that's impractical. Naively, I would expect a syntax like</p>
  
  <pre><code>data.ix[['state' != 'Colorado']]
  </code></pre>
  
  <p>However, this only returns the first record 'Ohio' and doesn't return 'New York'. This works, but is cumbersome</p>
  
  <pre><code>filter = list(set(data.index.get_level_values(0).unique()) - set(['Colorado']))
  data[filter]
  </code></pre>
  
  <p>Surely there's a more Pythonic, verbose way of doing this?</p>