Jika ndarray, sampel acak dihasilkan dari elemennya. Jika int, sampel acak dihasilkan seolah-olah np.arange(a)
ukuran int atau tupel int, opsionalBentuk keluaran. Jika bentuk yang diberikan adalah, e. g. , (m, n, k), lalu m * n * k sampel diambil. Defaultnya adalah Tidak Ada, dalam hal ini satu nilai dikembalikan
ganti boolean, opsionalApakah sampel dengan atau tanpa penggantian. Default adalah True, artinya nilai >>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0]) array([3, 3, 0]) # random 0 dapat dipilih beberapa kali
p Seperti array 1-D, opsionalProbabilitas yang terkait dengan setiap entri dalam a. Jika tidak diberikan, sampel mengasumsikan distribusi seragam pada semua entri di >>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0]) array([3, 3, 0]) # random 0
Pengembalian . sampel item tunggal atau ndarraySampel acak yang dihasilkan
Menaikkan . ValueErrorJika a adalah int dan kurang dari nol, jika a atau p bukan 1-dimensi, jika a adalah array seperti ukuran 0, jika p bukan vektor probabilitas, jika a dan p memiliki panjang yang berbeda, atau jika
Lihat juga
, ,yang harus digunakan dalam kode baru
Catatan
Menyetel probabilitas yang ditentukan pengguna melalui >>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0]) array([3, 3, 0]) # random 6 menggunakan sampler yang lebih umum tetapi kurang efisien daripada default. Sampler umum menghasilkan sampel yang berbeda dari sampler dioptimalkan bahkan jika setiap elemen >>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0]) array([3, 3, 0]) # random 6 adalah 1 / len(a)
Pengambilan sampel baris acak dari larik 2-D tidak dimungkinkan dengan fungsi ini, tetapi dimungkinkan dengan kata kunci >>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0]) array([3, 3, 0]) # random 9
Contoh
Hasilkan sampel acak seragam dari np. rentang(5) ukuran 3
>>> np.random.choice(5, 3) array([0, 3, 4]) # random >>> #This is equivalent to np.random.randint(0,5,3)
Hasilkan sampel acak yang tidak seragam dari np. rentang(5) ukuran 3
>>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0]) array([3, 3, 0]) # random
Hasilkan sampel acak seragam dari np. arange(5) ukuran 3 tanpa penggantian
>>> np.random.choice(5, 3, replace=False) array([3,1,0]) # random >>> #This is equivalent to np.random.permutation(np.arange(5))[:3]
Hasilkan sampel acak yang tidak seragam dari np. arange(5) ukuran 3 tanpa penggantian
>>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0]) array([2, 3, 0]) # random _
Salah satu dari hal di atas dapat diulang dengan sewenang-wenang seperti array, bukan hanya bilangan bulat. Contohnya