Python Pandas.melt() Function Syntax
Syntax: pandas.melt(frame, id_vars=None, value_vars=None,
var_name=None, value_name=’value’, col_level=None)
Parameters:
- frame : DataFrame
- id_vars[tuple, list, or ndarray, optional] : Column(s) to use as identifier variables.
- value_vars[tuple, list, or ndarray, optional]: Column(s) to unpivot. If not specified, uses all columns that are not set as id_vars.
- var_name[scalar]: Name to use for the ‘variable’ column. If None it uses frame.columns.name or ‘variable’.
- value_name[scalar, default ‘value’]: Name to use for the ‘value’ column.
- col_level[int or string, optional]: If columns are a MultiIndex then use this level to melt.
Creating a Sample DataFrame
Here, we have created a sample DataFrame that we will use in this article.
Python3
# importing pandas as pd import pandas as pd # creating a dataframe df = pd.DataFrame({ 'Name' : { 0 : 'John' , 1 : 'Bob' , 2 : 'Shiela' }, 'Course' : { 0 : 'Masters' , 1 : 'Graduate' , 2 : 'Graduate' }, 'Age' : { 0 : 27 , 1 : 23 , 2 : 21 }}) df |
Python | Pandas.melt()
To make the analysis of data in a table easier, we can reshape the data into a more computer-friendly form using Pandas in Python. Pandas.melt() is one of the functions to do so.. Pandas.melt() unpivots a DataFrame from wide format to long format.
Pandas melt() function is useful to massage a DataFrame into a format where one or more columns are identifier variables, while all other columns, considered measured variables, are unpivoted to the row axis, leaving just two non-identifier columns, variable and value.