ПочатиПочніть безкоштовно

Генерування перестановочних вибірок

Як ви з'ясували в попередній вправі, нам потрібно згенерувати перестановочну вибірку, випадково міняючи місцями відповідні елементи в масивах semi_times і final_times. Напишіть функцію з сигнатурою swap_random(a, b), яка повертає масиви, у яких на випадкових індексах елементи з a та b поміняні місцями.

Ця вправа є частиною курсу

Кейс-стаді зі статистичного мислення

Переглянути курс

Інструкції до вправи

  • Визначте функцію з сигнатурою swap_random(a, b), яка виконує таке.
    • Створіть масив swap_inds тієї самої довжини, що й вхідні масиви, де кожен елемент має значення True з імовірністю 50/50. Підказка: скористайтеся np.random.random() з аргументом size=len(a). Кожен елемент результату, що менший за 0.5, має бути True.
    • Зробіть копії a та b з назвами a_out і b_out відповідно, використовуючи np.copy().
    • Використайте булеву індексацію з масивом swap_inds, щоб поміняти місцями відповідні елементи: з b у a_out і з a у b_out.
    • Поверніть a_out і b_out.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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
Редагувати та запускати код