熊猫数据帧由变量

问题描述:

意味着我有一个数据帧熊猫数据帧由变量

a = pd.DataFrame({'a':[1,2,3,4], 'b':[1,1,2,2], 'c':[1,1,1,2]}) 
>>> a 
    a b c 
0 1 1 1 
1 2 1 1 
2 3 2 1 
3 4 2 2 

我想计算的一次,它已被根据B中的C中的值分组的平均值。

所以我应该在3组分割数据:

b=1,c=1  
b=1,c=2 
b=2,c=2 

,然后计算的平均每组英寸

我该怎么做? 我怀疑我必须使用groupby,但我不明白。

+2

您的意思是'a.groupby(['b','c'])。mean()'? – EdChum 2014-10-20 09:30:58

你可以通过列名的列表GROUPBY多列,那么它的gorupby对象上调用mean的只是一个简单的例子:

In [4]: 

a.groupby(['b','c']).mean() 

Out[4]: 
     a 
b c  
1 1 1.5 
2 1 3.0 
    2 4.0 

如果你想恢复被分组列回到列,只需拨打reset_index()

In [5]: 

a.groupby(['b','c']).mean().reset_index() 

Out[5]: 
    b c a 
0 1 1 1.5 
1 2 1 3.0 
2 2 2 4.0 
+0

这是完美的,但有没有办法以DataFrame格式获得结果?像列b,c,是什么意思?我不明白如何访问此类数据中的字段 – Donbeo 2014-10-20 09:34:28

+0

您的意思是您希望将'b'和'c'作为列吗?只需在返回的对象上调用'reset_index()'即可 – EdChum 2014-10-20 09:35:12