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
Övningsinstruktioner
- Definiera en funktion med signaturen
swap_random(a, b)som gör följande.- Skapa en array
swap_indsmed samma längd som indataarrayerna, där varje element ärTruemed 50/50 sannolikhet. Tips: Användnp.random.random()med nyckelordsargumentetsize=len(a). Varje element i resultatet som är mindre än 0,5 ska varaTrue. - Skapa kopior av
aochb, kalladea_outrespektiveb_out, med hjälp avnp.copy(). - Använd boolesk indexering med arrayen
swap_indsför att byta ut rätt element frånbia_outoch frånaib_out. - Returnera
a_outochb_out.
- Skapa en array
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