I have this Dataframe:
import pandas as pd
df = pd.DataFrame({'Hugo' : {'age' : 21, 'weight' : 75},
                   'Bertram': {'age' : 45, 'weight' : 65},
                   'Donald' : {'age' : 75, 'weight' : 85}}).T
df.index.names = ['name']
         age  weight
name                
Bertram   45      65
Donald    75      85
Hugo      21      75
I want to change the index to the column 'age':
df.set_index('age', inplace=True)
     weight
age        
45       65
75       85
21       75
The old index-column name gets lost. Is there a way to change the index without losing the original index-column and getting the old column as 'normal' column again, so that it looks like this?
     name       weight
age        
45   Bertram    65
75   Donald     85
21   Hugo       75
                Use reset_index first and then set_index:
df = df.reset_index().set_index('age')
print (df)
        name  weight
age                 
45   Bertram      65
75    Donald      85
21      Hugo      75
                        Adding the append=True and with reset_index
df.set_index('age', append=True).reset_index(level=0)
Out[80]: 
        name  weight
age                 
45   Bertram      65
75    Donald      85
21      Hugo      75
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With