title: How to keep column titles when inserting a sum row in Pandas dataframe
body: <p>I have a dataframe:</p>
  
  <pre><code>       Name    y1    y2   y3                  
   1     Ben     01    02   03
   2     Jane    04    05   06
   3     Sarah   07    07   06
  </code></pre>
  
  <p>I am trying to add in a row in my dataframe which provides a total of the rows in each column. My code is:</p>
  
  <pre><code>import pandas as pd
  
  df = pd.DataFrame(np.insert(df.values, 0, values=[df.sum(axis=0)], axis=0))
  df.set_value(0, 0,'total')
  df.head()
  </code></pre>
  
  <p>This is successful, but also removes my column names like this:</p>
  
  <pre><code>       0       1     2    3                     
   0     Total   12    14   15
   1     Ben     01    02   03
   2     Jane    04    05   06
   3     Sarah   07    07   06
  </code></pre>
  
  <p>rather than returning this as desired:</p>
  
  <pre><code>       Name    y1    y2   y3                      
   0     Total   12    14   15
   1     Ben     01    02   03
   2     Jane    04    05   06
   3     Sarah   07    07   06
  </code></pre>
  
  <p>I have tried inserting </p>
  
  <pre><code>Index(['Name'], name=df.index.name)
  </code></pre>
  
  <p>to</p>
  
  <pre><code>df = pd.DataFrame(np.insert(df.values, 0, values=[df.sum(axis=0)], Index(['Name'], name=df.index.name) axis=0))
  </code></pre>
  
  <p>but this just returns the error</p>
  
  <blockquote>
    <p>TypeError: unhashable type: 'Index'</p>
  </blockquote>
  
  <p>Where am I going wrong?</p>