Python | Панды dataframe.melt ()

Опубликовано: 28 Марта, 2022

Python - отличный язык для анализа данных, в первую очередь из-за фантастической экосистемы пакетов Python, ориентированных на данные. Pandas - один из таких пакетов, который значительно упрощает импорт и анализ данных.

Pandas dataframe.melt() function unpivots a DataFrame from wide format to long format, optionally leaving identifier variables set. This function is useful to massage a DataFrame into a format where one or more columns are identifier variables (id_vars), while all other columns, considered measured variables (value_vars), are “unpivoted” to the row axis, leaving just two non-identifier columns, ‘variable’ and ‘value’.

Syntax:DataFrame.melt(id_vars=None, value_vars=None, var_name=None, value_name=’value’, col_level=None)
Parameters :
frame : DataFrame
id_vars : Column(s) to use as identifier variables
value_vars : Column(s) to unpivot. If not specified, uses all columns that are not set as id_vars.
var_name : Name to use for the ‘variable’ column. If None it uses frame.columns.name or ‘variable’.
value_name : Name to use for the ‘value’ column
col_level : If columns are a MultiIndex then use this level to melt.

Returns: DataFrame into a format where one or more columns are identifier variables

Example #1: Use melt() function to set column “A” as the identifier variable and column “B” as value variable.

# importing pandas as pd
import pandas as pd
  
# Creating the dataframe 
df = pd.DataFrame({"A":[12, 4, 5, 44, 1], 
                   "B":[5, 2, 54, 3, 2], 
                   "C":[20, 16, 7, 3, 8], 
                   "D":[14, 3, 17, 2, 6]})
  
# Print the dataframe
df

Lets use the dataframe.melt() function to set column “A” as identifier variable and column “B” as the value variable.

# function to unpivot the dataframe
df.melt(id_vars =["A"], value_vars =["B"])

Output :

 
Example #2: Use melt() function to set column “A” as the identifier variable and column “B” and “C” as value variable. Also customize the names of both the value and variable column.

# importing pandas as pd
import pandas as pd
  
# Creating the dataframe 
df = pd.DataFrame({"A":[12, 4, 5, 44, 1],
                   "B":[5, 2, 54, 3, 2], 
                   "C":[20, 16, 7, 3, 8], 
                   "D":[14, 3, 17, 2, 6]})
  
# Print the dataframe
df

Lets use the dataframe.melt() function to set column “A” as identifier variable and column “B” and “C” as the value variable.

# function to unpivot the dataframe
# We will also provide a customized name to the value and variable column
  
df.melt(id_vars =["A"], value_vars =["B", "C"], 
        var_name ="Variable_column", value_name ="Value_column")

Выход :

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.