您需要在这里做的主要事情是将您的方法附加到主要数据集中。在此之前,您需要的主要技巧只是使索引一致(使用
reset_index()和,
set_index()以便在附加索引之后将它们或多或少地排成一行并准备根据相同的键进行排序。
In [35]: df2 = df.groupby(level=0).mean()In [36]: df2['index2'] = 'AVG'In [37]: df2 = df2.reset_index().set_index(['index','index2']).append(df).sort()In [38]: df2Out[38]: metric 1 metric 2 R P R Pindex index2 bar AVG 10 11 12 13 a 8 9 10 11 b 12 13 14 15foo AVG2 3 4 5 a 0 1 2 3 b 4 5 6 7
至于对行进行排序,最好的办法就是设置名称,以便排序将它们放在正确的位置(例如A,B,avg)。或者对于少量的行,您可以仅使用花式索引:
In [39]: df2.ix[[4,5,3,1,2,0]]Out[39]: metric 1 metric 2 R P R Pindex index2 foo a 0 1 2 3 b 4 5 6 7 AVG2 3 4 5bar a 8 9 10 11 b 12 13 14 15 AVG 10 11 12 13
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)