从numpy阵列中随机选择

问题描述:

我有两个相关的numpy阵列,Xy。我需要从X中选择n随机行并将其存储在一个数组中,对应的值为y,并附加它随机选择的点的索引。从numpy阵列中随机选择

我有另一个数组index存储的索引列表,我不想采样。

我该怎么做?

样本数据:

index = [2,3] 
X = np.array([[0.3,0.7],[0.5,0.5] ,[0.2,0.8], [0.1,0.9]]) 
y = np.array([[0], [1], [0], [1]]) 

如果这些X的随机选择(其中n=2):

randomylSelected = np.array([[0.3,0.7],[0.5,0.5]]) 

所需的输出将是:

index = [0,1,2,3] 
randomlySelectedY = [0,1] 

我怎样才能做这个?

+0

那么,是'randomylSelected'给予或将要产生的? – Divakar

+0

通过从'X'中随机选择'n'行来创建。 @Divakar – scutnex

+0

你能否澄清一下,当你的'index'没有被采样时,它是如何从'[2,3]'变成'[0,1]'的? 'index'的用途是什么,它与其他数组有什么关系? – MSeifert

您可以创建随机指数与np.random.choice

n = 2 # for 2 random indices 
index = np.random.choice(X.shape[0], n, replace=False) 

然后你只需要索引你的阵列,其结果是:

x_random = X[index] 
y_random = Y[index] 
+2

这里不需要'np.arange' – Eric