我有一个numpy数组和另一个数组:
[array([-1.67397643, -2.77258872]), array([-1.67397643, -2.77258872]), array([-2.77258872, -1.67397643]), array([-2.77258872, -1.67397643])]
-1.67397643 > -2.77258872
- 所以第一个值为0。[0, 0, 1, 1]
(列表也可以)我该怎么做?
答案 0 :(得分: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.])