Python 我们得到了级数的精确性

Python 我们得到了级数的精确性,python,pandas,crosstab,Python,Pandas,Crosstab,今天最后一个问题:) 我已经从df创建了交叉表。这个交叉表显然是一个系列对象。 不需要打印整个交叉表,而是需要一个聚合值来显示该网格的准确性。 e、 g.所有正确的预测值与数据总量: (31+48)/(31+43+33+48)=0509 我找到了一些样本,但没有一个有交叉表作为输入。。。 谢谢E 您需要首先过滤级别中索引值相同的所有值,然后除以总和: print (s[s.index.get_level_values('Prediction') == s.index.get_level_valu

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

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

我找到了一些样本,但没有一个有交叉表作为输入。。。
谢谢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

你确定
31+48
?@jezrael是:)预测是1,结果也是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