Numpy 为什么Panel.groupby()不接受0.14中的级别参数?
我想平均重复的项目 但是Numpy 为什么Panel.groupby()不接受0.14中的级别参数?,numpy,pandas,Numpy,Pandas,我想平均重复的项目 但是 pn = Panel(randn(4,3,3), items=['a','a','b','b'], major_axis=np.arange(0,3), minor_axis=np.arange(0,3)) 我不能完全理解。。。 还有其他解决方法吗?您需要传递一个映射函数(在本例中是在标识函数中)。 自0.14.1及之前版本起,Panel.groupby的API与Series/DataFrame.groupby不同(因为它尚未更新)。0.15.0将解决这个问题 pn.
pn = Panel(randn(4,3,3), items=['a','a','b','b'], major_axis=np.arange(0,3), minor_axis=np.arange(0,3))
我不能完全理解。。。
还有其他解决方法吗?您需要传递一个映射函数(在本例中是在标识函数中)。 自0.14.1及之前版本起,
Panel.groupby
的API与Series/DataFrame.groupby不同(因为它尚未更新)。0.15.0将解决这个问题
pn.groupby(level=0)
TypeError: groupby() got an unexpected keyword argument 'level'
pn.groupby(axis='items')
TypeError: groupby() takes at least 2 arguments (2 given)
Panel.groupby
没有得到太多的tlc,并且有一个非常旧的API。你想做什么?谢谢@Jeff,效果很好。看来我总是处于危险的边缘!哈,几乎可以肯定的是,使用多索引框架和更多支持会更好(尽管面板很快会得到更多tlc)
In [6]: pn = Panel(randn(4,3,3), items=['a','a','b','b'], major_axis=np.arange(0,3), minor_axis=np.arange(0,3))
In [7]: pn
Out[7]:
<class 'pandas.core.panel.Panel'>
Dimensions: 4 (items) x 3 (major_axis) x 3 (minor_axis)
Items axis: a to b
Major_axis axis: 0 to 2
Minor_axis axis: 0 to 2
In [10]: pn.to_frame()
Out[10]:
a a b b
major minor
0 0 0.149552 0.149552 -3.750202 -3.750202
1 -1.354459 -1.354459 0.744473 0.744473
2 -0.183734 -0.183734 0.081965 0.081965
1 0 -1.946947 -1.946947 0.039065 0.039065
1 -0.648491 -0.648491 -0.141705 -0.141705
2 -1.581965 -1.581965 -0.628115 -0.628115
2 0 -1.280040 -1.280040 -0.556467 -0.556467
1 -0.093943 -0.093943 0.722981 0.722981
2 -0.207690 -0.207690 0.914684 0.914684
In [11]: pn.groupby(lambda x: x, axis='items').mean().to_frame()
Out[11]:
a b
major minor
0 0 0.733896 -1.814611
1 -1.021487 0.182690
2 -0.791080 -0.040136
1 0 -1.141415 -0.445435
1 -0.678486 -0.395380
2 -1.504996 0.172791
2 0 -0.405256 -0.999300
1 0.001912 0.272143
2 -0.987270 0.154344