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
Instrukcje do ćwiczenia
- Zdefiniuj funkcję o sygnaturze
swap_random(a, b), która wykonuje następujące kroki.- Utwórz tablicę
swap_indso tej samej długości co tablice wejściowe, gdzie każdy element ma wartośćTruez prawdopodobieństwem 50/50. Podpowiedź: Użyjnp.random.random()z argumentem kluczowymsize=len(a). Każdy element wyniku, który jest mniejszy niż 0.5, powinien przyjąć wartośćTrue. - Utwórz kopie
aib– nazwij je odpowiednioa_outib_out– używając funkcjinp.copy(). - Zastosuj indeksowanie boolowskie z tablicą
swap_inds, aby zamienić odpowiednie elementybwa_outoraz elementyawb_out. - Zwróć
a_outib_out.
- Utwórz tablicę
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