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

Генерация случайных чисел с помощью модуля np.random

На протяжении всего этого курса и его продолжения мы будем активно использовать модуль np.random. Можно смело сказать, что методы экземпляров генератора случайных чисел (RNG) вы будете вызывать чаще любых других функций, работая в роли хакера-статистика. Начнём с простой функции rng.random(). Она возвращает случайное число от нуля до единицы. Если вызвать rng.random() несколько раз, вы увидите, как каждый раз появляются разные числа в этом диапазоне.

В этом упражнении мы сгенерируем большое количество случайных чисел от нуля до единицы, а затем построим гистограмму результатов. Если числа действительно случайны, все столбцы гистограммы должны быть примерно одинаковой высоты.

В видео Джастин генерировал 4 случайных числа, передавая аргумент size=4 в функцию rng.random(). Такой подход эффективнее цикла for. Однако в этом упражнении вы напишете именно цикл for, чтобы почувствовать суть хакерской статистики — многократного повторения эксперимента.

Это упражнение является частью курса

Статистическое мышление на Python (часть 1)

Посмотреть курс

Инструкции к упражнению

  • Создайте генератор случайных чисел rng и инициализируйте его с зерном 42.
  • Создайте пустой массив random_numbers из 100 000 элементов для хранения случайных чисел. Используйте для этого np.empty(100000).
  • Напишите цикл for для генерации 100 000 случайных чисел с помощью rng.random() и сохранения их в массив random_numbers. Для этого выполните итерацию по range(100000).
  • Постройте гистограмму массива random_numbers. Подписывать оси в данном случае не нужно — мы просто проверяем работу генератора случайных чисел. Нажмите «Отправить ответ», чтобы отобразить график.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Instantiate and seed the random number generator


# Initialize random numbers: random_numbers
random_numbers = ____

# Generate random numbers by looping over range(100000)
for i in ____:
    random_numbers[i] = ____

# Plot a histogram
_ = plt.hist(____)

# Show the plot
plt.show()
Редактировать и запускать код