python pandas获得系列的准确性

时间:2017-06-15 10:50:16

标签: python pandas crosstab

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

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

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

我发现了一些样本,但没有一个交叉表作为输入...... 谢谢!电子!

1 个答案:

答案 0 :(得分: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