Zacznij terazZacznij za darmo

Generowanie próbek permutacyjnych

Jak ustalono w poprzednim ćwiczeniu, próbkę permutacyjną generujemy przez losowe zamienienie odpowiadających sobie elementów w tablicach semi_times i final_times. Napisz funkcję o sygnaturze swap_random(a, b), która zwraca tablice z losowo zamienionymi elementami a i b.

To ćwiczenie jest częścią kursu

Studia przypadków w myśleniu statystycznym

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj funkcję o sygnaturze swap_random(a, b), która wykonuje następujące kroki.
    • Utwórz tablicę swap_inds o tej samej długości co tablice wejściowe, gdzie każdy element ma wartość True z prawdopodobieństwem 50/50. Podpowiedź: Użyj np.random.random() z argumentem kluczowym size=len(a). Każdy element wyniku, który jest mniejszy niż 0.5, powinien przyjąć wartość True.
    • Utwórz kopie a i b – nazwij je odpowiednio a_out i b_out – używając funkcji np.copy().
    • Zastosuj indeksowanie boolowskie z tablicą swap_inds, aby zamienić odpowiednie elementy b w a_out oraz elementy a w b_out.
    • Zwróć a_out i b_out.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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
Edytuj i uruchom kod