两个数组的Python随机样本,但索引匹配

两个数组的Python随机样本,但索引匹配,python,random,numpy,Python,Random,Numpy,我有两个numpy数组x和y,它们的长度为10000。 我想画一个包含1000个x和y项的随机子集。 有没有一种简单的方法可以在x和y上使用可爱的、紧凑的随机样本(总体,k)来选择相同的对应指数?(y和x向量由函数y(x)连接。) 谢谢。只需将两者压缩在一起,并将其用作人口: import random random.sample(zip(xs,ys), 1000) 结果将是来自xs和ys的1000对(2元组)对应条目,您可以在索引数组上使用,并将其应用于两个数组: idx = np.ran

我有两个numpy数组x和y,它们的长度为10000。 我想画一个包含1000个x和y项的随机子集。 有没有一种简单的方法可以在x和y上使用可爱的、紧凑的随机样本(总体,k)来选择相同的对应指数?(y和x向量由函数y(x)连接。)


谢谢。

只需将两者压缩在一起,并将其用作人口:

import random

random.sample(zip(xs,ys), 1000)
结果将是来自
xs
ys
的1000对(2元组)对应条目,您可以在索引数组上使用,并将其应用于两个数组:

idx = np.random.choice(np.arange(len(x)), 1000, replace=False)
x_sample = x[idx]
y_sample = y[idx]

测试后
numpy.random.choice
solution, 我发现对于较大的阵列来说速度非常慢

numpy.random.randint
应该快得多

范例

x=np.arange(1e8)
y=np.arange(1e8)
idx=np.random.randint(0,x.shape[0],10000)
返回x[idx],y[idx]

非常感谢!我不知道你可以调用像x[idx]这样的数组的条目!谢谢你救了我一天!在文档中,它说它只需要1个参数,即大小。你能将链接添加到文档中吗?@SanghyunLee-我的答案不使用numpy。