2017-06-13 85 views
0

我已經提到的類似的問題BYT至今無法看到它: 我有一個數據框:(eval_datan)不同大小的熊貓羣組的大小和平均值?

ccs5 correct aggodds 
0 258  False 0.620068 
1 258  True 0.461638 
2 126  False 0.243570 
3 48  False 0.420276 

我做了一個小組來參觀的正確和錯誤的次數,如下所示:

eval_datan.groupby(['ccs5','correct']).size() 

其產生:

ccs5 correct 
1  False  28 
2  False  116 
     True  148 
3  False  240 
     True   2 
4  False  400 
     True   5 

我要添加一個柱,使用聚集aggodds柱高於平均值我另有隔離E通過ccs和正確的狀態

愚蠢地,我希望以下工作。它不(回溯)(KeyError:'aggodds')

eval_datan.groupby(['ccs5','correct']).size()['aggodds'].mean() 

什麼是最簡潔的表達方式? 這如:

eval_datan.groupby('ccs5').agg({'correct':'size','aggodds':['mean']}) 

不通過 「正確」 的狀態

correct aggodds 
    size mean 
    ccs5   
1 28 0.320001 
2 264 0.347982 
3 242 0.357944 
4 405 0.366225 
5 19 0.323990 

回答

1

大部我認爲你正在尋找:

eval_datan.groupby(['ccs5', 'correct'], as_index=False)['aggodds'].agg({'n':'count','avg':np.mean}) 

希望這有助於。

+0

太棒了!謝謝尼斯和乾淨... – dartdog