numpy random.choice未选中的元素

Vah*_*ili 5 python random numpy choice subset

我有一个数组A如下:

import numpy as np
A = np.random.sample(100)
Run Code Online (Sandbox Code Playgroud)

我想从A创建2个随机子集,如果我将它们组合在一起,我将获得A.

inx = np.random.choice(np.arange(100), size=70, replace=False)
S1 = A[inx]
Run Code Online (Sandbox Code Playgroud)

因此,S1是其中一个子集,现在我如何构造S2以包含A中不在S1中的所有元素; 换句话说,S2 = A-S1.

per*_*eal 6

设置操作可能有助于:

S2 = A[list(set(range(100)) - set(inx))]
Run Code Online (Sandbox Code Playgroud)

但您可能需要排序:

S2 = A[ sorted(list(set(range(100)) - set(inx))) ]
Run Code Online (Sandbox Code Playgroud)