LoslegenKostenlos loslegen

Permutation Samples erzeugen

Wie du in der letzten Übung herausgefunden hast, müssen wir ein Permutationssample erzeugen, indem wir die entsprechenden Einträge in den Arrays semi_times und final_times zufällig vertauschen. Schreibe eine Funktion mit der Signatur swap_random(a, b), die Arrays zurückgibt, in denen an zufälligen Indizes die Einträge von a und b vertauscht wurden.

Diese Übung ist Teil des Kurses

Fallstudien zum statistischen Denken

Kurs anzeigen

Anleitung zur Übung

  • Definiere eine Funktion mit der Signatur swap_random(a, b), die Folgendes tut.
    • Erstelle ein Array swap_inds mit derselben Länge wie die Eingabearrays, wobei jeder Eintrag mit 50/50-Wahrscheinlichkeit True ist. Hinweis: Verwende np.random.random() mit dem Schlüsselwortargument size=len(a). Jeder Eintrag im Ergebnis, der kleiner als 0.5 ist, soll True sein.
    • Erstelle Kopien von a und b, genannt a_out bzw. b_out, mit np.copy().
    • Verwende boolesches Indizieren mit dem Array swap_inds, um die entsprechenden Einträge von b in a_out und von a in b_out zu vertauschen.
    • Gib a_out und b_out zurück.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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
Code bearbeiten und ausführen