0
我有两个3x3阵列。其中一个指示元素是否是黑色的(比方说0的白色,1的黑色)以及另一个元素的成本是多少。有没有一种很好的方式来获得例如所有黑色元素的指数,并且它们的价格高于某个值?我知道我可以使用np.where()从一个数组中进行选择,但是如何在两个数组中进行选择(如果它们具有相同的形状)Numpy 2d阵列,从2个阵列中选择满足条件的索引
我有两个3x3阵列。其中一个指示元素是否是黑色的(比方说0的白色,1的黑色)以及另一个元素的成本是多少。有没有一种很好的方式来获得例如所有黑色元素的指数,并且它们的价格高于某个值?我知道我可以使用np.where()从一个数组中进行选择,但是如何在两个数组中进行选择(如果它们具有相同的形状)Numpy 2d阵列,从2个阵列中选择满足条件的索引
根据Psidom和rayryeng的建议,我会添加的np.where
输出可以堆叠以呈现在可读的“坐标”表示法指数列表,如下面
import numpy as np
a = np.random.randint(0, 2, size=(3,3))
b = np.random.uniform(0, 10, size=(3,3))
print(a)
print(b)
print(np.where(a & (b > 4)))
print(np.vstack(np.where(a & (b > 4))).T)
随机阵列a
和b
:的np.where
为
[[1 0 0]
[1 1 0]
[0 1 1]]
[[ 4.27082885 4.95718491 5.03538203]
[ 8.41593579 3.17425233 3.99337567]
[ 3.90636291 4.96133978 3.61849744]]
直接输出两个条件NS a
非零和b>4
:
(array([0, 1, 2], dtype=int64), array([0, 0, 1], dtype=int64))
在人类友好的方式叠放:
[[0 0]
[1 0]
[2 1]]
在这个例子中,你可以总结阵列和发现的2 – asongtoruin
或'np.where(一所有实例&b)' – Psidom
这只是一个例子来说明我想实现的目标,我会改变它。 – zlenyk