2017-06-13 9 views
0

私がこれまでにBYT同様の質問がそれを見ることはできません参照しました: は、私がデータフレーム持っている:(eval_datan)を異なるパンダのgroupby列に複数の集計サイズと平均がありますか?

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

私はそうのように正しいと偽の数を確認することにより、グループをしました:私はそう私の上に分離された平均使用aggodds列を集計列を追加したい

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

を:生成

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

Eをccsで修正してステータスを修正してください

愚かにも私は次のことがうまくいくと思っていました。これを表現するための最も簡潔な方法は何

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

:それは(トレースバック)( 'aggodds' KeyError例外)ではないのですか? これは、例えば:

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

関連する問題