我有一个包含整数值的一维数组:
a = np.array([1,2,3,3,2,2,3,2,3])
a
array([1, 2, 3, 3, 2, 2, 3, 2, 3])
我想创建一个二维数组,第一维保存一维数组中整数值的索引:
^{pr2}$
但这会返回一个列表(duh):
type(idx)
list
第一个维度是一系列元组:
type(idx[0])
tuple
如何使用where子句从1D数组返回一个2D numpy数组的值索引?在
编辑:
预期产量:
array([[0],[1,4,5,7],[2,3,6,8]])
Tags:
最接近二维阵列的是:
但它是一个或多个一维数组。在
问题的一部分是
np.where
返回数组的元组,这样无论数组有多少维,它都将具有相同的接口。因为你只有一个,所以你可以得到0指数。在然后我建议使用
^{pr2}$np.unique
,因为它有点好,但是它会跳过a
中没有的索引。因此,如果这是非常重要的,那么就改回来,但使用range(a.max() + 1)
:因为索引从0开始,而不是1。在
相关问题 更多 >
编程相关推荐