Inizia subitoInizia gratis

Generare campioni per permutazione

Come hai visto nell'esercizio precedente, dobbiamo generare un campione per permutazione scambiando in modo casuale le voci corrispondenti negli array semi_times e final_times. Scrivi una funzione con firma swap_random(a, b) che restituisca array in cui indici casuali hanno le voci in a e b scambiate.

Questo esercizio fa parte del corso

Casi di studio nel pensiero statistico

Visualizza corso

Istruzioni dell'esercizio

  • Definisci una funzione con firma swap_random(a, b) che esegua quanto segue.
    • Crea un array swap_inds della stessa lunghezza degli array di input in cui ogni elemento è True con probabilità 50/50. Suggerimento: usa np.random.random() con l'argomento size=len(a). Ogni elemento del risultato che è minore di 0.5 dovrebbe essere True.
    • Crea copie di a e b, chiamate rispettivamente a_out e b_out, usando np.copy().
    • Usa l'indicizzazione booleana con l'array swap_inds per scambiare le voci appropriate di b in a_out e di a in b_out.
    • Restituisci a_out e b_out.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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
Modifica ed esegui il codice