【问题标题】:unstack a multiindex dataframe取消堆叠多索引数据帧
【发布时间】:2016-09-06 04:26:52
【问题描述】:

我想解开一个多索引数据框,如下所示:

进入另一个索引为“Worker_id”、列名为“Task_id”、值为“Date_cnt”的数据框。

有人可以帮忙吗?

我试过 df.unstack,但它会自动将“Date_cnt”而不是“Task_id”作为列名

谢谢!

【问题讨论】:

    标签: python dataframe stack


    【解决方案1】:

    我想这就是你想要的:

    import pandas as pd
    
    df = pd.DataFrame([[4529,338,6],[4529,340,4],[4529,346,4],[4529,388,4],[4529,824,1]], columns = ['Worker_id','Task_id','Date_cnt'])
    df = df.set_index(['Worker_id','Task_id']).unstack()
    df.columns = df.columns.droplevel()
    print df
    
    
    Task_id    338  340  346  388  824
    Worker_id                         
    4529         6    4    4    4    1
    

    因为只有一列,Date_cnt 是多索引列中的最顶部字段 - 如果在取消堆叠之前有多个列,它们都将位于最顶部。由于您不想保留它,因此您可以删除该列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      • 2020-09-22
      • 2023-01-11
      • 2021-03-12
      • 2019-05-08
      • 2020-11-25
      • 1970-01-01
      相关资源
      最近更新 更多