2017-06-15 13 views
1

1最後の質問、今日のために、一連の精度を得る私はDFからのクロス集計を作成しました。このクロスタブは明らかにシリーズオブジェクトです。 クロス集計全体を印刷するのではなく、そのグリッドの精度を示す集計値が必要です。例: すべてのデータの合計量対予測値を正しい:Pythonのパンダは :)

(31 + 48)/(31 + 43 + 33 + 48)= 0509

Prediction ZV 
-1   -1 31 
      1 43 
1   -1 33 
      1 48 

Iは、いくつかのサンプルを発見し、それらのどれもなかったです入力としてクロス集計... ありがとう! E!あなたはレベルのインデックス値が同じで、その後、合計で割るすべての値最初のフィルタを必要とする

+0

あなたは '31 + 48'か? – jezrael

+0

@jezraelはい:)予測は1、結果も1です。 – Ele

答えて

1

print (s[s.index.get_level_values('Prediction') == s.index.get_level_values('ZV')]) 
Prediction ZV 
-1   -1 31 
1   1 48 
Name: val, dtype: int64 


s1 = s[s.index.get_level_values('Prediction')==s.index.get_level_values('ZV')].sum()/s.sum() 
print (s1) 
0.5096774193548387 
+1

私は答えを編集しますが、わかっていればわかりません。 – jezrael

+1

ありがとう!これは私が必要なものです! – Ele

+0

申し訳ありません、今私はそれが誤植だと思う。いい日! – jezrael