Reshaping a data from wide to long in pandas python is done with melt() function. melt function in pandas is one of the efficient function to transform the data from wide to long format. melt() Function in python pandas depicted with an example.
Let’s create a simple data frame to demonstrate our reshape example in python pandas.
Create dataframe:
import pandas as pd import numpy as np #Create a DataFrame d = { 'countries':['A','B','C'], 'population_in_million':[100,200,120], 'gdp_percapita':[2000,7000,15000] } df = pd.DataFrame(d,columns=['countries','population_in_million','gdp_percapita']) df
The dataframe will be like
Reshape wide to long in pandas python with melt() function:
We will reshape the above data frame from wide to long format in R. The above data frame is already in wide format.
This can be accomplished with below code
# shape from wide to long with melt function in pandas df2=pd.melt(df,id_vars=['countries'],var_name='metrics', value_name='values') df2
- data frame “df” is passed to melt() function
- id_vars is the variable which need to be left unaltered which is “countries”
- var_name are the column names so we named it as ‘metrics’
- value_name are its values so we named it as ‘values’
so the reshaped dataframe will be