How to reshape the tables in pandas?

Pandas use various methods to reshape the dataframe and series. Let’s see about the some of that reshaping method.

Using stack() method:

Stack method works with the MultiIndex objects in DataFrame, it returning a DataFrame with an index with a new inner-most level of row labels. It changes the wide table to a long table.

Example:

# import pandas module 
import pandas as pd 


# making dataframe 
df = pd.read_csv("nba.csv") 

# reshape the dataframe using stack() method 
df_stacked = df.stack() 

print(df_stacked.head(26))

Using unstack() method:

unstack is similar to stack method, It also works with multi-index objects in dataframe, producing a reshaped DataFrame with a new inner-most level of column labels.

Example:

# import pandas module 
import pandas as pd 

# making dataframe 
df = pd.read_csv("nba.csv") 

# unstack() method 
df_unstacked = df_stacked.unstack() 
print(df_unstacked.head(10))

Using melt() method:

Melt in pandas reshape dataframe from wide format to long format. It uses the “id_vars[‘col_names’]” for melt the dataframe by column names.

Example:

# import pandas module 
import pandas as pd 

# making dataframe 
df = pd.read_csv("nba.csv") 


# it takes two columns "Name" and "Team" 
df_melt = df.melt(id_vars =['Name', 'Team']) 
print(df_melt.head(10))