编辑:正如@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)
无效。