Kom igångKom igång gratis

Generera permutationsurval

Som du kom fram till i förra övningen behöver vi generera ett permutationsurval genom att slumpmässigt byta ut motsvarande element i arrayerna semi_times och final_times. Skriv en funktion med signaturen swap_random(a, b) som returnerar arrayer där slumpmässiga index har fått sina element i a och b utbytta.

Den här övningen är en del av kursen

Fallstudier i statistiskt tänkande

Visa kurs

Övningsinstruktioner

  • Definiera en funktion med signaturen swap_random(a, b) som gör följande.
    • Skapa en array swap_inds med samma längd som indataarrayerna, där varje element är True med 50/50 sannolikhet. Tips: Använd np.random.random() med nyckelordsargumentet size=len(a). Varje element i resultatet som är mindre än 0,5 ska vara True.
    • Skapa kopior av a och b, kallade a_out respektive b_out, med hjälp av np.copy().
    • Använd boolesk indexering med arrayen swap_inds för att byta ut rätt element från b i a_out och från a i b_out.
    • Returnera a_out och b_out.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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
Redigera och kör kod