Generarea eșantioanelor prin permutare
Așa cum ai determinat în exercițiul anterior, trebuie să generăm un eșantion prin permutare prin interschimbarea aleatorie a elementelor corespunzătoare din array-urile semi_times și final_times. Scrie o funcție cu signatura swap_random(a, b) care returnează array-uri în care intrările de la indici aleatori din a și b au fost interschimbate.
Acest exercițiu face parte din cursul
Studii de caz în gândirea statistică
Instrucțiuni pentru exercițiu
- Definește o funcție cu signatura
swap_random(a, b)care face următoarele.- Creează un array
swap_indsde aceeași lungime cu array-urile de intrare, în care fiecare element esteTruecu probabilitate 50/50. Indiciu: Foloseștenp.random.random()cu argumentul cheiesize=len(a). Fiecare element din rezultat care este mai mic decât 0,5 trebuie să fieTrue. - Creează copii ale lui
așib, numitea_out, respectivb_out, folosindnp.copy(). - Folosește indexarea booleană cu array-ul
swap_indspentru a interschimba elementele corespunzătoare dinbîna_outși dinaînb_out. - Returnează
a_outșib_out.
- Creează un array
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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