title: Too many indexers with iloc
body: <p>i have a data frame (df) which looks like this 
  <a href="https://i.stack.imgur.com/ui2Vh.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ui2Vh.png" alt="enter image description here"></a></p>
  
  <p>i am trying to get Week1 to Week3 sales for year 1950 to 1952. i am able to achieve this by loc using the below code</p>
  
  <pre><code>idx = pd.IndexSlice
  df.loc[:,idx[:,1950:1952,'Week1':'Week3']]
  </code></pre>
  
  <p><strong>Result:</strong>
  <a href="https://i.stack.imgur.com/bFCWG.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bFCWG.png" alt="enter image description here"></a></p>
  
  <p>but when i am trying to do it through iloc i am getting too many indexers error. I am using this code:</p>
  
  <pre><code>df.iloc[:,idx[:,:4,:4]]
  </code></pre>
  
  <p>why is it failing for iloc but working for loc?</p>
  
  <p>below is the columns value of my data frame.</p>
  
  <pre><code>df.columns
  MultiIndex(levels=[['Sale'], [1950, 1951, 1952, 1953], ['Week1', 'Week2', 'Week3', 'Week4']],
         labels=[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3], [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]],
         names=[None, 'Year', 'Week'])
  </code></pre>