【问题标题】:reshaping a data frame in pandas在熊猫中重塑数据框
【发布时间】:2014-02-06 22:10:38
【问题描述】:

pandas 中是否有一种简单的方法来重塑以下数据框:

df = pd.DataFrame({'n':[1,1,2,2,1,1,2,2],
                   'l':['a','b','a','b','a','b','a','b'],
                   'v':[12,43,55,19,23,52,61,39],
                   'g':[0,0,0,0,1,1,1,1]
                  })

到这种格式?:

   g  a1 b1 a2 b2
   0  12 43 55 19
   1  23 52 61 39

【问题讨论】:

    标签: python pandas dataframe reshape


    【解决方案1】:
    In [75]: df['ln'] = df['l'] + df['n'].astype(str)
    
    In [76]: df.set_index(['g', 'ln'])['v'].unstack('ln')
    Out[76]: 
    ln  a1  a2  b1  b2
    g                 
    0   12  55  43  19
    1   23  61  52  39
    
    [2 rows x 4 columns]
    

    如果您需要该订购,那么:

    In [77]: df.set_index(['g', 'ln'])['v'].unstack('ln')[['a1', 'b1', 'a2', 'b2']]
    Out[77]: 
    ln  a1  b1  a2  b2
    g                 
    0   12  43  55  19
    1   23  52  61  39
    
    [2 rows x 4 columns]
    

    【讨论】:

      猜你喜欢
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      相关资源
      最近更新 更多