我正在研究泰坦尼克号数据集,在运行了一些算法后,我有了无数个y_predictions数组。我想比较它们,只提取每个数组中每个位置相等的值。例如:
索引 | a | b | cd | ||
---|---|---|---|---|---|
0 | 1 | 1 | <1>1|||
1 | 1 | 0 | <1>1|||
2 | 0 | 01 | 0 | ||
3 | 0 | 1 | 0 | 1 | |
0 |
您的L数组的形状错误,您应该使用L的转置来获得描述中的表,我建议您将其转换为numpy数组:
result = []
a= [1,1,0,0,0]
b= [1,0,0,1,0]
c= [1,1,1,0,0]
d= [1,1,0,1,0]
L=np.array([a,b,c,d]).T
holder = L[0]
for i in range(len(L)):
result.append(int(np.all(L[i,:] == L[i,0])))
print(result)
正如另一个答案中所指出的,您将希望转换列表,最好将它们转换为numpy数组。
你可以像这个一样实现你想要的
a= [1,1,0,0,0]
b= [1,0,0,1,0]
c= [1,1,1,0,0]
d= [1,1,0,1,0]
L= np.array([a,b,c,d]).T
same_results = [len(set(col)) == 1 for col in L]
print(same_results)
# [True, False, False, False, True]