Membuat sampel permutasi
Seperti yang Anda kerjakan pada latihan sebelumnya, kita perlu membuat sampel permutasi dengan menukar secara acak entri yang bersesuaian dalam array semi_times dan final_times. Tulislah fungsi dengan tanda tangan swap_random(a, b) yang mengembalikan array di mana indeks acak memiliki entri pada a dan b yang telah ditukar.
Latihan ini adalah bagian dari kursus
Studi Kasus dalam Pemikiran Statistik
Petunjuk latihan
- Definisikan fungsi dengan tanda tangan
swap_random(a, b)yang melakukan hal berikut.- Buat array
swap_indsdengan panjang yang sama seperti array masukan, di mana setiap entri bernilaiTruedengan probabilitas 50/50. Petunjuk: Gunakannp.random.random()dengan argumen kata kuncisize=len(a). Setiap entri pada hasil yang kurang dari 0.5 harus bernilaiTrue. - Buat salinan
adanb, masing-masing bernamaa_outdanb_outmenggunakannp.copy(). - Gunakan indeks Boolean dengan array
swap_indsuntuk menukar entri yang sesuai daribke dalama_outdan dariake dalamb_out. - Kembalikan
a_outdanb_out.
- Buat array
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
def ____(____, ____):
"""Randomly swap entries in two arrays."""
# Indices to swap
swap_inds = ____ < ____
# Make copies of arrays a and b for output
a_out = ____
b_out = ____
# Swap values
____[____] = ____[____]
____[____] = ____[____]
return a_out, b_out