title: Pandas: move row (index and values) from last to first
body: <p>I would like to move an entire row (index and values) from the last row to the first row of a DataFrame.  Every other example I can find either uses an <a href="https://stackoverflow.com/questions/43408621/add-a-row-at-top-in-pandas-dataframe">ordered row index</a> (to be specific - my <code>row</code> index is not a numerical sequence - so I cannot simply add at -1 and then reindex with +1) or <a href="https://stackoverflow.com/questions/38980507/moving-desired-row-to-the-top-of-pandas-data-frame">moves the values while maintaining the original index</a>.  My DF has descriptions as the index and the values are discrete to the index description.</p>
  
  <p>I'm adding a row and then would like to move that into row 1.  Here is the setup:</p>
  
  <pre><code>df = pd.DataFrame({
      'col1' : ['A', 'A', 'B', 'F', 'D', 'C'],
      'col2' : [2, 1, 9, 8, 7, 4],
      'col3': [0, 1, 9, 4, 2, 3],
  }).set_index('col1')
  
  #output
  In [7]: df
  Out[7]: 
        col2  col3
  col1            
  A        2     0
  A        1     1
  B        9     9
  F        8     4
  D        7     2
  C        4     3
  </code></pre>
  
  <p>I then add a new row as follows:</p>
  
  <pre><code>df.loc["Deferred Description"] = pd.Series([''])
  
  In [9]: df
  Out[9]: 
                        col2  col3
  col1                            
  A                      2.0   0.0
  A                      1.0   1.0
  B                      9.0   9.0
  F                      8.0   4.0
  D                      7.0   2.0
  C                      4.0   3.0
  Deferred Description   NaN   NaN
  </code></pre>
  
  <p>I would like the resulting output to be:</p>
  
  <pre><code>In [9]: df
  Out[9]: 
                        col2  col3
  col1                            
  Defenses Description   NaN   NaN
  A                      2.0   0.0
  A                      1.0   1.0
  B                      9.0   9.0
  F                      8.0   4.0
  D                      7.0   2.0
  C                      4.0   3.0
  </code></pre>
  
  <p>I've tried using <code>df.shift()</code> but only the values shift.  I've also tried <code>df.sort_index()</code> but that requires the index to be ordered (there are several SO examples using <code>df.loc[-1] = ...</code> then then reindexing with <code>df.index = df.index + 1</code>).  In my case I need the <code>Defenses Description</code> to be the first row. </p>