2024-04-20 13:35:19 发布
网友
我有一个很大的np.ndarray (3600000,3),一个HUE,一个VALUE,和一个相关的CLASS数字。对于每对HUE和VALUE我想用这个数组找到对应的Class数字。我对Python很熟悉,很难做到。你知道怎么做吗?
np.ndarray (3600000,3)
HUE
VALUE
CLASS
Class
提前谢谢你!
我想你的阵列看起来像:
|(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如下所示:
a
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11], [12, 13, 14]])
如果要使用HUE=9进行行,请执行以下操作:
HUE=9
a[np.where(a[:,0] == 9)] #array([[ 9, 10, 11]])
如果要使用VALUE=4进行行,请执行以下操作:
VALUE=4
a[np.where(a[:,1] == 4)] #array([[3, 4, 5]])
如果要使用HUE=0和VALUE=1行,请执行以下操作:
HUE=0
VALUE=1
a[np.where((a[:,0] == 0) * (a[:,1] == 1))] #array([[0, 1, 2]])
请尝试以下代码:
x[x[:, 2] == class_number[:, :2]
其中x是np.ndarray
x
np.ndarray
x[:, 2] == class_number
包含true/false,这意味着最后一个是否是class_number。
true/false
class_number
你需要看看:http://wiki.scipy.org/Cookbook/Indexing中的Boolean indexing
Boolean indexing
从评论移动。
我想你的阵列看起来像:
这是示例代码。为了简单起见,我把3600000号改成了5号。
现在数组
a
如下所示:如果要使用
HUE=9
进行行,请执行以下操作:如果要使用
VALUE=4
进行行,请执行以下操作:如果要使用
HUE=0
和VALUE=1
行,请执行以下操作:请尝试以下代码:
其中
x
是np.ndarray
包含
true/false
,这意味着最后一个是否是class_number
。你需要看看:http://wiki.scipy.org/Cookbook/Indexing中的
Boolean indexing
从评论移动。
相关问题 更多 >
编程相关推荐