title: pandas groupby nlargest doesn't allow to see all the data set_index issue
body: <p>I want to see 2-top values for each year. </p>
  
  <pre><code>df = pd.DataFrame({'year':[2018, 2018, 2018, 2017, 2017, 2006],'value':[1,2,3,4,5,6], 'title':['a', 'b', 'c', 'd','e','f'], 'smth1':[6,6,4,5,6,4], 
  'smth2':[9,8,7,6,5,2], 'smth3': [2,2,3,3,4,4]})
  </code></pre>
  
  <p>I use idea from here to prevent loosing cols: <a href="https://stackoverflow.com/questions/45977640/pandas-nlargest-lost-one-column">pandas nlargest lost one column</a>, </p>
  
  <p>so this works perfectly for 1 or 2 cols added to set_index:</p>
  
  <pre><code>df_top = df.set_index('title').groupby('year')['value'].nlargest(2).reset_index()
  </code></pre>
  
  <p>However I want to see more data, and try:</p>
  
  <pre><code>df_top = df.set_index('title','smth1', 'smth2').groupby('year')['value'].nlargest(2).reset_index()
  </code></pre>
  
  <p>Thus, I have "level_1" col appearing right after the year column instead of 'smth1'.</p>
  
  <p>In case I write:  </p>
  
  <pre><code>df_top = df.set_index('title','smth1', 'smth2', 'smth3').groupby('year')['value'].nlargest(2).reset_index() 
  </code></pre>
  
  <p>I got "<strong>ValueError</strong> For argument "inplace" expected type bool, received type str."</p>