ÎncepețiÎncepe gratuit

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ă

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește o funcție cu signatura swap_random(a, b) care face următoarele.
    • Creează un array swap_inds de aceeași lungime cu array-urile de intrare, în care fiecare element este True cu probabilitate 50/50. Indiciu: Folosește np.random.random() cu argumentul cheie size=len(a). Fiecare element din rezultat care este mai mic decât 0,5 trebuie să fie True.
    • Creează copii ale lui a și b, numite a_out, respectiv b_out, folosind np.copy().
    • Folosește indexarea booleană cu array-ul swap_inds pentru a interschimba elementele corespunzătoare din b în a_out și din a în b_out.
    • Returnează a_out și b_out.

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
Editează și rulează codul