我有points
ndarray。
In [141]: points
Out[141]:
array([[0, 1],
[2, 3],
[4, 5],
[6, 7]])
我有这个分类器,我将点分为两类
In [142]: i5
Out[142]: array([0, 0, 1, 1])
注意,积分和i5的长度相同。
我知道这两个类都有这些值。
In [143]: c
Out[143]:
array([[2, 3],
[4, 5]])
我想将点分配给我已分类的值。我期待的最终结果是
In [141]: points
Out[141]:
array([[2, 3],
[2, 3],
[4, 5],
[4, 5]])
如何根据points
上编入索引的c
变异/更改i5
?
答案 0 :(得分:1)
只需在i5
上使用c
作为索引数组,并将c
上的索引视图分配给points
import numpy as np
c = np.array([[2, 3],
[4, 5]])
i5 = np.array([0, 0, 1, 1])
points = c[i5]
# [[2 3]
# [2 3]
# [4 5]
# [4 5]]
注意:根据您描述问题的方式,points
的初始值似乎并不重要。这是一个合适的结论吗?