我有一个系列:
350 0
254 1
490 0
688 0
393 1
30 1
和数据帧:
0 outcome
0 350 1
1 254 1
2 490 0
3 688 0
4 393 0
5 30 1
以下代码用于计算数据框中Series和results列之间的匹配总数。除了下面还有其他更好的方法吗?
i=0
match=0
for pred in results['outcome']:
if test.values[i] == pred:
match+=1
i+=1
print match
我尝试使用results['Survived'].eq(labels_test).sum()
,但答案是错误的。并使用lambda但语法错误。
请指教。谢谢
您可以通过映射系列进行比较,即
(df['0'].map(s) == df['outcome']).sum()
4
首先,使用align
对齐数据框和系列。
df, s = df.set_index('0').align(s, axis=0)
接下来,将outcome
列与s
中的值进行比较,并计算True
值的数量 -
df.outcome.eq(s).sum()
4