title: how to get ranking of columns for each row
body: <p>I have a table like this :</p>
  <pre><code>data        S1   S2   S3   S4     S5     S6 S7....
  Date                                        
  2009-12-31  0   0   4   nan -0  0   0   nan 0   -0
  2010-12-31  -23 0   -273    -0  8   -16 -2  nan 0   -164
  2011-12-30  2   0   -50 -0  -1  -16 -5  nan 5   -96
  2012-12-31  2   1   235 -0  3   10  -2  nan 13  184
  2013-12-31  -1  1   300 0   -1  -18 -14 nan 1   -152
  2014-12-31  -8  1   140 0   1   8   -17 nan -0  442
  2015-12-31  25  1   168 -0  3   1   -16 nan 1   -168
  2016-12-30  -10 0   147 -0  3   4   -11 nan 0   -1,039
  2017-12-29  6   1   52  0   -19 2   -37 nan -2  -566
  2018-12-31  19  2   113 -0  -5  6   -16 -1  -2  2,404
  2019-12-31  2   1   111 0   3   6   11  -12 3   319
  2020-12-31  5   0   -64 0   -4  8   4   -1  2   2
  </code></pre>
  <p>and I would like to get for each date the top (lowest) 3 columns names ie :</p>
  <pre><code>Date                                        
  2009-12-31  S1 S3 S10 (where S1 has the highest value in previous table, S2 the second...)
  2010-12-31  S10 S12 S1 (where S10 has the highest value in previous table, S12 the second...)
  2011-12-30  S6 S10 S12 
  ...
  </code></pre>
  <p>I tried :</p>
  <pre><code>rank_sdg = (table.rank(axis=1)&lt;=3)
  collecte_sdg.columns[rank_sdg]
  </code></pre>
  <p>but get an error message :</p>
  <pre><code>IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed
  </code></pre>
  <p>Any suggestions ?</p>