从numpy阵列中随机选择
问题描述:
我有两个相关的numpy阵列,X
和y
。我需要从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]
我怎样才能做这个?
答
您可以创建随机指数与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
那么,是'randomylSelected'给予或将要产生的? – Divakar
通过从'X'中随机选择'n'行来创建。 @Divakar – scutnex
你能否澄清一下,当你的'index'没有被采样时,它是如何从'[2,3]'变成'[0,1]'的? 'index'的用途是什么,它与其他数组有什么关系? – MSeifert