python pandas 获取系列的准确性

python pandas get accuracy of series

今天的最后一个问题:) 我从 df 创建了交叉表。这个交叉表显然是一个系列对象。 而不是打印整个交叉表,需要一个聚合值来显示该网格的准确性。 例如所有正确的预测值与数据总量:

(31+48)/(31+43+33+48) = 0,509

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

我找到了一些样本,但其中 none 有一个交叉表作为输入... 谢谢! E!

您需要先过滤所有级别中索引值相同的值,然后除以总和:

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