Pandas has a method set_index to covert a column in Pandas dataframe into rowname or row index. Let us see an example of converting a column name into rowname in Pandas.
Let us load pandas as “pd”.
import pandas as pd
Let us use real-world gapminder data from vega_datasets.
from vega_datasets import data gapminder =data.gapminder_health_income() print(gapminder.head())
country income health population 0 Afghanistan 1925 57.63 32526562 1 Albania 10620 76.00 2896679 2 Algeria 13434 76.50 39666519 3 Andorra 46577 84.10 70473 4 Angola 7615 61.00 25021974
Convert a Column to Row Name
Let us convert the “country” column into row name or index of the dataframe gapminder using the method set_index() .
gapminder = gapminder.set_index("country")
By default, the medthod set_index returns a new pandas object. Here, we have assigned the new data frame to same variable “gapminder”. One can also use inplace=TRUE to make the changes in place.
income health population country Afghanistan 1925 57.63 32526562 Albania 10620 76.00 2896679 Algeria 13434 76.50 39666519 Andorra 46577 84.10 70473 Angola 7615 61.00 25021974
Note that the resulting Pandas dataframe’ row index has name, “country”. If you don’t want to have name for the index, we can use either
gapminder.index_name = None
or
del gapminder.index_name
Now you will have dataframe with a column converted to rowname with no index name.
income health population Afghanistan 1925 57.63 32526562 Albania 10620 76.00 2896679 Algeria 13434 76.50 39666519 Andorra 46577 84.10 70473 Angola 7615 61.00 25021974