numpy的内部比较值返回更大的索引
问题描述:
我有一个numpy的阵列和另一个阵列:numpy的内部比较值返回更大的索引
[array([-1.67397643, -2.77258872]), array([-1.67397643, -2.77258872]), array([-2.77258872, -1.67397643]), array([-2.77258872, -1.67397643])]
- 哪个索引位置的numpy的阵列内部获胜 - 即
-1.67397643 > -2.77258872
- 这样的第一值将是0 。 - 的numpy的阵列的最终输出将是
[0, 0, 1, 1]
(名单是罚款太)
我怎么能这样做?
答
看来你有阵列的列表,所以我会通过让他们适当numpy
阵列启动:
a = [array([-1.67397643, -2.77258872]), array([-1.67397643, -2.77258872]), array([-2.77258872, -1.67397643]), array([-2.77258872, -1.67397643])]
b = np.array(a).T # .T transposes it.
c = b[0] < b[1]
C现在是array([False, False, True, True], dtype=bool)
,而且很可能成为你的目的。如果你必须有[0,0,1,1]
代替,则:
d = np.zeros(len(c))
d[c] = 1
d现在是一个array([ 0., 0., 1., 1.])