pandas函数之melt

1、melt方法

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

  (1)参数

    frame:处理的数据集

    id_vars:tuple, list, or ndarray, optional。不需要转换的列名。

    value_varstuple, list, or ndarray, optional需要转换的列名,如果列全部都要转换,就不用写了。

    var_name:需要转换列的名称。

    value_name:值列的名称。

    col_level:如果列是MultiIndex,则使用此级别。

    ignore_index:bool型,默认为True。如果为True,则忽略原始索引。如果为False,则保留原始索引。

  (2)举例

    d = {'name':['alex','egon','tod'],'age':[17,18,19],'role':['ceo','editor','author']}
    df = pd.DataFrame(d)

    

    df_melt = pd.melt(df)

    

    df_melt = pd.melt(df,id_vars='name')

     

    d = {'name':['alex','egon','tod'],'age':[17,18,19],'role':['ceo','editor','author'],'city':['beijing','shanghai','shenzhen']}
    df = pd.DataFrame(d)

   

    df_melt = pd.melt(df,id_vars=['name','age'],value_vars='role',var_name='类别',value_name='角色')

    

 

    (2)stack()

      df = pd.DataFrame([[0, 1], [2, 3]],index=['cat', 'dog'],columns=['weight', 'height'])

     

      df.stack()

    

 

 

posted @ 2022-03-15 14:18  狗尾巴草oo  阅读(667)  评论(0编辑  收藏  举报