从匹配条件的np.array元素中随机选择一个元素的索引

2024-04-25 02:07:06 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑numpy数组arr1,如下所示

arr1 = np.array([-8,-3,-5,-2, 8,-4],
                [ 7, 4, 3, 1,-5, 6],  
                [-6, 1,-2,-6,-4,-8],
                [ 5,-2, 7,-5,-3,-1]]) 

row_idx = 2
val = -6

我想从指定的行索引(即:2)中随机选择一个值(即:-6)的索引。我从隔离目标值开始:

arr2 = np.where(arr1[row_idx][:] == val)
print(arr2)

这将正确地生成所需的索引:(array([0, 3)], dtype=int64,)

我是一个新的足够的编码器,我有困难随机选择0或3。什么是有效的方法(实际的arr1要大得多)

谢谢


Tags: numpynpval数组编码器wherearrayrow