python pandas数据帧有更多的标题混淆

时间:2015-03-30 16:42:01

标签: python pandas

编辑:正如@J Richard Snape所指出的那样 - “多线头”在Pandas中被称为“层级索引”,它在不同的问题中得到解决

我有两个数据帧(每个数据帧中有相应的索引)

rep.head()

               zinc_ID
    Cluster No  
    3        ZINC08221075
    5        ZINC06920422
    7        ZINC06920381
    10       ZINC00968327
    4        ZINC08218951

ranked.head()

如果不明显排名数据框有两个'标题',最重要的是 cons_all_rank跨越4个单元格(如excel中的合并单元格)。这是调用groupby()agg.([np.mean, np.std, np.median, len])

的结果
           cons_all_rank                       
                    mean         std median len
Cluster No                                     
1              94.689655  106.622198   37.0  29
2              79.638889  101.176268   55.5  36
3             175.826087  133.990384  144.0  23

我进行了

out = ranked.join(rep)
out[:3]

并收到

    (cons_all_rank, mean)   (cons_all_rank, std)    (cons_all_rank, median)     (cons_all_rank, len)    zinc_ID
Cluster No                  
1   94.689655   106.622198  37.0    29  ZINC08034993
2   79.638889   101.176268  55.5    36  ZINC32840901
3   175.826087  133.990384  144.0   23  ZINC08221075

接下来,我想通过执行

out数据框进行排序
out.sort(columns='(cons_all_rank, median)')

但我一直在

  

KeyError:'(cons_all_rank,median)'

所以我尝试out.sort(columns='zinc_ID')并且它完美无缺。 我也试过

out.sort('cons_all_rank, median')
out.sort('median')

但两者都没有效果。 ranked数据框中的多行标题是否有问题?如果是这样,我怎么能摆脱它呢? ranked.drop('cons_all_rank', axis=0, inplace=True)无效。

0 个答案:

没有答案