【转】Python Pandas.melt()用法及代码示例

为了简化表中数据的分析,我们可以使用Python中的Pandas将数据重塑为更computer-friendly的形式。 Pandas.melt()是这样做的函数之一。
Pandas.melt()取消将DataFrame从宽格式转换为长格式。
melt()函数很有用,可以将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 [标量]:用于“变量”列的名称。如果为None,则使用frame.columns.name或“ variable”。
    value_name [标量,默认为“值”]:用于“值”列的名称。
    col_level [int或字符串,可选]:如果列是MultiIndex,则使用此级别进行融合。

     

例:

# Create a simple dataframe 
  
# 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

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

# multiple unpivot columns 
pd.melt(df, id_vars =['Name'], value_vars =['Course', 'Age'])

# Names of ‘variable’ and ‘value’ columns can be customized 
pd.melt(df, id_vars =['Name'], value_vars =['Course'], 
              var_name ='ChangedVarname', value_name ='ChangedValname')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值