【发布时间】:2022-01-14 07:46:42
【问题描述】:
我正在研究泰坦尼克号数据集,在运行一些算法后,我有 y_predictions 的 numpy 数组。 我想比较它们并仅提取每个位置每个数组中相等的值。 例如:
| index | a | b | c | d |
|---|---|---|---|---|
| 0 | 1 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 |
| 2 | 0 | 0 | 1 | 0 |
| 3 | 0 | 1 | 0 | 1 |
| 4 | 0 | 0 | 0 | 0 |
a,b,c 和 d 是算法的 y_predictions。 输出应该是: [1, 0, 0, 0, 1] 因为在索引 0 和 4 处所有值都相等,所以我分配 1,否则分配 0。 基本上,我想做的是查看那些算法识别为“幸存”的索引(乘客),用 1 表示。
这是我的代码:
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= [a,b,c,d]
holder = L[0]
for i in range(len(L)):
equality = np.where(holder == L[i+1], holder, 'None')
holder = equ
但我得到了一些错误。 我将不胜感激任何建议
【问题讨论】:
-
尝试将 range(len(L)) 更改为 range(len(L)-1) 并尝试运行您的代码。
标签: python arrays numpy compare