python-查询其他两个数组对齐的数组
发布时间:2022-08-26 11:34:06 321
相关标签: # node.js
我有3个阵列,x
,y
和q
. 阵列x
和y
长度相同,q
是查询数组。假设中的所有值x
和q
都是独一无二的。对于每个值q
,我想在中找到相应值的索引x
. 然后我想在中查询该索引y
. 如果值来自q
不显示在中x
,我想回去np.nan
.
作为一个具体示例,请考虑以下阵列:
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
q = np.array([2, 0])
因为只有值2出现在x
,正确的返回值为:
out = np.array([5, np.nan])
对于for循环,可以这样做:
out = []
for i in range(len(z)):
for j in range(len(x)):
if np.allclose(z[i], x[j]):
out.append(y[j])
break
else:
out.append(np.nan)
return np.array(out)
显然这是相当缓慢的。有没有更简单的方法可以使用 numpy 内置函数来做到这一点np.argwhere?或者使用pandas会更容易吗?
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报