我有一个DataFrame
MultiIndex,例如:
In [1]: arrays = [['one','one','one','two','two','two'],[1,2,3,1,2,3]]
In [2]: df = DataFrame(randn(6,2),index=MultiIndex.from_tuples(zip(*arrays)),columns=['A','B'])
In [3]: df
Out [3]:
A B
one 1 -2.028736 -0.466668
2 -1.877478 0.179211
3 0.886038 0.679528
two 1 1.101735 0.169177
2 0.756676 -1.043739
3 1.189944 1.342415
现在我想为每一行(索引级别 0)和每一列计算元素 2 和 3(索引级别 1)的平均值。所以我需要一个看起来像的 DataFrame
A B
one 1 mean(df['A'].ix['one'][1:3]) mean(df['B'].ix['one'][1:3])
two 1 mean(df['A'].ix['two'][1:3]) mean(df['B'].ix['two'][1:3])
如何在不使用原始数据帧的行(索引级别 0)的循环的情况下做到这一点?如果我想为面板做同样的事情怎么办?groupby 一定有一个简单的解决方案,但我还在学习它,想不出答案。