个性化阅读
专注于IT技术分析

Pandas melt()用法介绍

Pandas.melt()函数用于取消将DataFrame从宽格式转换为长格式。

它的主要任务是将DataFrame压缩为一种格式, 其中某些列是标识符变量, 而其余列被认为是测量变量, 且未在行轴上旋转。它只剩下两个非标识符列, 变量和值。

句法

pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None)

参数

  • frame:它是指DataFrame。
  • id_vars [元组, 列表或ndarray, 可选]:引用用作标识符变量的列。
  • value_vars [元组, 列表或ndarray, 可选]:引用要取消透视的列。如果未指定, 请使用未设置为id_vars的所有列。
  • var_name [scalar]:指代用于”变量”列的名称。如果为None, 则使用frame.columns.name或’variable’。
  • value_name [标量, 默认为’value’]:是指用于” value”列的名称。
  • col_level [int或string, 可选]:如果列为MultiIndex, 它将使用此级别来融化。

退货

它返回未透视的DataFrame作为输出。

例子

# importing pandas as pd 
import pandas as pd   
# creating a dataframe 
info = pd.DataFrame({'Name': {0: 'Parker', 1: 'Smith', 2: 'John'}, 'Language': {0: 'Python', 1: 'Java', 2: 'C++'}, 'Age': {0: 22, 1: 30, 2: 26}}) 

# Name is id_vars and Course is value_vars 
pd.melt(info, id_vars =['Name'], value_vars =['Language']) 
info

输出

Name    Language     Age
0     Parker    Python     22
1     Smith     Java       30
2     John      C++        26

例2

import pandas as pd 
info = pd.DataFrame({'A': {0: 'p', 1: 'q', 2: 'r'}, 'B': {0: 40, 1: 55, 2: 25}, 'C': {0: 56, 1: 62, 2: 42}})
pd.melt(info, id_vars=['A'], value_vars=['C'])
pd.melt(info, id_vars=['A'], value_vars=['B', 'C'])
pd.melt(info, id_vars=['A'], value_vars=['C'], var_name='myVarname', value_name='myValname')

输出

A    myVarname    myValname
0      p      C            56                
1      q      C            62                
2      r      C            42

赞(0)
未经允许不得转载:srcmini » Pandas melt()用法介绍

评论 抢沙发

评论前必须登录!