web-dev-qa-db-ja.com

Python 2つの配列のランダムサンプルですが、インデックスが一致しています

長さが10,000の2つのnumpy配列xとyがあります。 xとyの両方の1,000エントリのランダムなサブセットをプロットしたいと思います。 xとyの両方で素敵でコンパクトなrandom.sample(population、k)を使用して、同じ対応するインデックスを選択する簡単な方法はありますか? (yベクトルとxベクトルは関数y(x) say。)によってリンクされます。)

ありがとう。

26
Cokes

np.random.choice インデックス配列で、両方の配列に適用します。

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

2つを一緒に圧縮し、それを母集団として使用します。

random.sample(Zip(xs,ys), 1000)

結果は、xsおよびysからの対応するエントリの1000ペア(2タプル)になります。

7
DaoWen