НачатьНачать бесплатно

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

Как вы выяснили в предыдущем упражнении, для генерации перестановочной выборки нужно случайным образом менять местами соответствующие элементы массивов 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 с помощью np.copy() и назовите их a_out и b_out соответственно.
    • Используйте булево индексирование с массивом 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
Редактировать и запускать код