能够对第1列中大于x的值进行排序和查找,但无法从列中提取大于x的值。
a1 = np.array([130,4,8,0,87,45,24,22])
a2 = np.array([1.5615, 0.4601, 0.4374, 0.0000, 3.9871, -2.3144, -0.3456, 1.5684])
ind = np.lexsort((a2,a1))
[(a1[i],a2[i]) for i in ind]
r = np.array([a1[ind],a2[ind]])
r1 = sorted(x for x in r[0] if x >= 35)
print(r1)
对于a2中基于x> 35的a1中的值[45,87,130],期望a3 = [-2.3144 3.9871 1.5615]
答案 0 :(得分:0)
您可以执行以下操作来代替访问r[0]
中的值:
>>> sorted([a2[ind] for ind in range(len(a1)) if a1[ind] > 35], key=lambda
value: np.where(r[1] == value))
[-2.3144, 3.9871, 1.5615]
这将检查索引处的值,然后按索引在r[1]
中的位置进行排序