Pandas Practice Set-1: Set an existing column as the index of diamonds DataFrame and restore the index name, and move the index back to a column
44. Set Column as Index and Restore the Index Name
Write a Pandas program to set an existing column as the index of diamonds DataFrame and restore the index name, and move the index back to a column.
Sample Solution:
Python Code:
import pandas as pd
diamonds = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/diamonds.csv')
print("Original Dataframe:")
print(diamonds.head())
print("\nNew Dataframe:")
diamonds.set_index('color', inplace=True)
print(diamonds.head())
print("\nNow restore the index name:")
diamonds.index.name = 'color'
diamonds.reset_index(inplace=True)
print(diamonds.head())
Sample Output:
Original Dataframe:
   carat      cut color clarity  depth  table  price     x     y     z
0   0.23    Ideal     E     SI2   61.5   55.0    326  3.95  3.98  2.43
1   0.21  Premium     E     SI1   59.8   61.0    326  3.89  3.84  2.31
2   0.23     Good     E     VS1   56.9   65.0    327  4.05  4.07  2.31
3   0.29  Premium     I     VS2   62.4   58.0    334  4.20  4.23  2.63
4   0.31     Good     J     SI2   63.3   58.0    335  4.34  4.35  2.75
New Dataframe:
       carat      cut clarity  depth  table  price     x     y     z
color                                                               
E       0.23    Ideal     SI2   61.5   55.0    326  3.95  3.98  2.43
E       0.21  Premium     SI1   59.8   61.0    326  3.89  3.84  2.31
E       0.23     Good     VS1   56.9   65.0    327  4.05  4.07  2.31
I       0.29  Premium     VS2   62.4   58.0    334  4.20  4.23  2.63
J       0.31     Good     SI2   63.3   58.0    335  4.34  4.35  2.75
Now restore the index name:
  color  carat      cut clarity  depth  table  price     x     y     z
0     E   0.23    Ideal     SI2   61.5   55.0    326  3.95  3.98  2.43
1     E   0.21  Premium     SI1   59.8   61.0    326  3.89  3.84  2.31
2     E   0.23     Good     VS1   56.9   65.0    327  4.05  4.07  2.31
3     I   0.29  Premium     VS2   62.4   58.0    334  4.20  4.23  2.63
4     J   0.31     Good     SI2   63.3   58.0    335  4.34  4.35  2.75
For more Practice: Solve these Related Problems:
- Write a Pandas program to set a column as the index of the diamonds DataFrame, then restore the original index name after resetting.
 - Write a Pandas program to assign a column as index, rename the index, and later convert the index back into a column.
 - Write a Pandas program to set an existing column as index, then reset the index and ensure the index name is retained as a new column.
 - Write a Pandas program to switch a column to the index, perform a sort, and then move the index back into the columns with its name restored.
 
Go to:
PREV : Set an Existing Column as the Index.
NEXT : Access a Specified Series Index and Values.
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
What is the difficulty level of this exercise?
