2017-06-15 31 views
1

今天的最後一個問題:) 我已經從df創建了交叉表。這個交叉表顯然是一個系列對象。 而不是打印整個交叉表,需要一個聚合值來顯示該網格的準確性。 例如所有正確的預測值與數據的總量:python pandas獲取系列的準確性

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

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

我發現了一些樣品,但他們都沒有交叉表作爲輸入... 謝謝!電子!

+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

相關問題