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.

Similar Reads

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....

melt () do in Pandas Example

...