title: Pandas: Get unique MultiIndex level values by label
body: <p>Say you have this MultiIndex-ed DataFrame:</p>
  <pre><code>df = pd.DataFrame({'country':['DE','DE','FR','FR'],
                     'biome':['Lake','Forest','Lake','Forest'],
                     'area':[10,20,30,40],
                     'count':[7,5,2,3]})
  df = df.set_index(['country','biome'])
  </code></pre>
  <p>Which looks like this:</p>
  <pre><code>                area  count
  country biome
  DE      Lake      10      7
          Forest    20      5
  FR      Lake      30      2
          Forest    40      3
  </code></pre>
  <p>I would like to <strong>retrieve the unique values per index level</strong>. This can be accomplished using</p>
  <pre><code>&gt;&gt;&gt; df.index.levels[0]
  ['DE', 'FR']
  
  &gt;&gt;&gt; df.index.levels[1]
  ['Lake', 'Forest']
  </code></pre>
  <p>What I would <em>really</em> like to do, is to retrieve these lists by <strong>addressing the levels by their name</strong>, i.e. <code>'country'</code> and <code>'biome'</code>. The shortest two ways I could find looks like this:</p>
  <pre><code>&gt;&gt;&gt; list(set(df.index.get_level_values('country')))
  ['DE', 'FR']
  
  &gt;&gt;&gt; df.index.levels[df.index.names.index('country')]
  ['DE', 'FR']
  </code></pre>
  <p>But non of them are very elegant. Is there a shorter and/or more performant way?</p>