在给定其他两个值的情况下,从1x3 numpy数组中提取值
我有一个1x3的整数向量。给定一对整数,如何提取第三个整数。numpy向量中的每个整数都是唯一的,并且该对不包括自身(例如3和3) 例如:在给定其他两个值的情况下,从1x3 numpy数组中提取值,numpy,Numpy,我有一个1x3的整数向量。给定一对整数,如何提取第三个整数。numpy向量中的每个整数都是唯一的,并且该对不包括自身(例如3和3) 例如: >>> nodes array([3, 5, 7], dtype=int16) >>> n1 = 3 >>> n2 = 7 给定n1、n2和1x3数组,我需要中间值5。使用np.inad从节点中过滤出n1和n2: nodes[~np.in1d(nodes, [n1, n2])] # array([5])
>>> nodes
array([3, 5, 7], dtype=int16)
>>> n1 = 3
>>> n2 = 7
给定n1、n2和1x3数组,我需要中间值5。使用
np.inad
从节点中过滤出n1
和n2
:
nodes[~np.in1d(nodes, [n1, n2])]
# array([5])
这是通过布尔掩蔽实现的。首先排除与两个已知值匹配的值。因为您知道只剩下一个值,所以只取第一个元素
>>> arr = np.array([3, 5, 7])
>>> n1 = 3
>>> n2 = 7
>>> arr[(arr != n1) & (arr != n2)][0]
5