我有一个很大的np.ndarray (3600000,3)
,HUE
,VALUE
和一个关联的CLASS
号。我想使用该数组为每对HUE
和VALUE
查找对应的Class
号。我是Python的初学者,很难过。你知道这样做的方法吗?
先感谢您!
最佳答案
我假设你的数组看起来像:
|(HUE)(VALUE)(CLASS)
row/col| 0 1 2
-------+-----------------
0 | 0 1 2
1 | 3 4 5
2 | 6 7 8
. | . . .
. | . . .
3599999| . . .
这是示例代码。为简单起见,我将大小为3600000更改为5。
a = np.array(xrange(5 * 3))
a.shape = (5, 3)
现在数组
a
看起来像这样:array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14]])
如果要使用
HUE=9
行,请执行以下操作:a[np.where(a[:,0] == 9)]
#array([[ 9, 10, 11]])
如果要使用
VALUE=4
行,请执行以下操作:a[np.where(a[:,1] == 4)]
#array([[3, 4, 5]])
如果要使用
HUE=0
和VALUE=1
行,请执行以下操作:a[np.where((a[:,0] == 0) * (a[:,1] == 1))]
#array([[0, 1, 2]])
关于python - 根据两列的值选择numpy ndarray中的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23359886/