當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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')



相關用法


注:本文由純淨天空篩選整理自Shivam_k大神的英文原創作品 Python | Pandas.melt()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。