Создать случайный массив целых чисел python

Как заполнить массив случайными числами в Python

Массив — одна из основных структур данных в Python. Его элементы хранятся в одном месте и к ним можно получить доступ по индексу. Для реализации такой структуры данных используется библиотека numpy. Также имитировать массив в Python может встроенный тип данных список (list). В данной статье мы обсудим, как заполнить массив случайными числами.

Мы всегда можем создать массив любой размерности и иногда, для некоторых вычислений, его нужно заполнить произвольными значениями. Для этого в библиотеке numpy реализован модуль random, который генерирует случайные числа.

Как заполнить массив случайными числами при помощи функции numpy.random.randint()

Как уже говорилось ранее, в библиотеке numpy есть модуль random , который может помочь в генерации случайных чисел для массивов numpy. При помощи функции randint() можно сгенерировать массив нужного размера и заполнить его случайными числами.

Нам нужно запомнить три основных параметра, которые принимает данная функция. Первые два являются предельными значениями для случайных чисел. Функция будет выбирать случайное число именно из этого диапазона. Третий параметр определяет форму требуемого массива.

import numpy as np arr = np.random.randint(0,10,10) print(*arr) # Результат: # 3 8 1 0 4 2 4 7 0 3

В данном примере мы сгенерировали 10 случайных чисел и заполнили ими одномерный массив длиной 10.

Как заполнить массив случайными числами при помощи функции numpy.random.Generator.integers()

Функция numpy.random.Generators предлагает альтернативный способ генерации случайных чисел. Она использует дополнительный BitGenerator для создания случайных битов и управления их состоянием. Для его инициации используется конструктор numpy.random.default_rng() .

После этого мы можем использовать функцию numpy.random.Generator.integers() для генерации случайных целых чисел и заполнения ими массива в Python.

Как и в предыдущем случае, нам нужно будет задать параметры диапазона и формы массива.

import numpy as np g = np.random.default_rng() arr = g.integers(0,5,10) print(arr) # Результат: # [0 2 1 1 1 0 1 1 3 0]

Заполнение массива случайными числами при помощи функции random.randint()

Как говорилось ранее, списки в Python также могут представлять собой массив. Мы можем заполнить списки случайными числами, используя модуль random в Python. Для этого мы будем использовать генератор списков вместе с функцией random.randint() .

Мы применим функцию random.randint() для создания случайного числа в заданном диапазоне, а генератор списков будет вызывать ее нужное количество раз, производя список заданной длинны.

import random arr = [random.randint(1,5) for _ in range(10)] print(arr) # Результат: # [4, 2, 5, 3, 2, 2, 3, 3, 4, 2]

Заключение

В данной статье мы разобрали различные методы заполнения массива случайными числами в Python. По сути, мы создавали массивы со случайными числами. Для этого мы использовали массивы numpy и списки Python.

Читайте также:  Linux set default java version

Для массивов numpy мы рассмотрели два способа заполнения. В первом случае использовалась традиционная функция numpy.random.randint() , которая генерирует массив numpy заданной длины, заполненный случайными числами в заданном диапазоне. А во втором случае мы использовали относительно новый модуль numpy.random.Generators , который обеспечивает дополнительное состояние для управления и генерации случайных битов.

В последнем примере мы разобрали, как в Python заполнить массив случайными числами при помощи генератора списков и функции random.randint() . По сути мы создали цикл, который вызывал функцию random.randint() нужное количество раз, генерируя при этом случайное число и добавляя его в список Python.

Источник

Модуль random на примерах — Изучение методов генерации случайных данных

В данной статье мы рассмотрим процесс генерации случайных данных и чисел в Python. Для этого будет использован модуль random и некоторые другие доступные модули. В Python модуль random реализует генератор псевдослучайных чисел для различных распределений, включая целые и вещественные числа с плавающей запятой.

Список методов модуля random в Python:

Метод Описание
seed() Инициализация генератора случайных чисел
getstate() Возвращает текущее внутренне состояние (state) генератора случайных чисел
setstate() Восстанавливает внутреннее состояние (state) генератора случайных чисел
getrandbits() Возвращает число, которое представляет собой случайные биты
randrange() Возвращает случайное число в пределах заданного промежутка
randint() Возвращает случайное число в пределах заданного промежутка
choice() Возвращает случайный элемент заданной последовательности
choices() Возвращает список со случайной выборкой из заданной последовательности
shuffle() Берет последовательность и возвращает ее в перемешанном состоянии
sample() Возвращает заданную выборку последовательности
random() Возвращает случайное вещественное число в промежутке от 0 до 1
uniform() Возвращает случайное вещественное число в указанном промежутке
triangular() Возвращает случайное вещественное число в промежутке между двумя заданными параметрами. Также можно использовать параметр mode для уточнения середины между указанными параметрами
betavariate() Возвращает случайное вещественное число в промежутке между 0 и 1, основываясь на Бета-распределении, которое используется в статистике
expovariate() Возвращает случайное вещественное число в промежутке между 0 и 1, или же между 0 и -1 , когда параметр отрицательный. За основу берется Экспоненциальное распределение, которое используется в статистике
gammavariate() Возвращает случайное вещественное число в промежутке между 0 и 1, основываясь на Гамма-распределении, которое используется в статистике
gauss() Возвращает случайное вещественное число в промежутке между 0 и 1, основываясь на Гауссовом распределении, которое используется в теории вероятности
lognormvariate() Возвращает случайное вещественное число в промежутке между 0 и 1, основываясь на Логнормальном распределении, которое используется в теории вероятности
normalvariate() Возвращает случайное вещественное число в промежутке между 0 и 1, основываясь на Нормальном распределении, которое используется в теории вероятности
vonmisesvariate() Возвращает случайное вещественное число в промежутке между 0 и 1, основываясь на распределении фон Мизеса, которое используется в направленной статистике
paretovariate() Возвращает случайное вещественное число в промежутке между 0 и 1, основываясь на распределении Парето, которое используется в теории вероятности
weibullvariate() Возвращает случайное вещественное число в промежутке между 0 и 1, основываясь на распределении Вейбулла, которое используется в статистике
Читайте также:  Can write method in java

Цели данной статьи

Далее представлен список основных операций, которые будут описаны в руководстве:

  • Генерация случайных чисел для различных распределений, которые включают целые и вещественные числа с плавающей запятой;
  • Случайная выборка нескольких элементов последовательности population ;
  • Функции модуля random;
  • Перемешивание элементов последовательности. Seed в генераторе случайных данных;
  • Генерация случайных строки и паролей;
  • Криптографическое обеспечение безопасности генератора случайных данных при помощи использования модуля secrets. Обеспечение безопасности токенов, ключей безопасности и URL;
  • Способ настройки работы генератора случайных данных;
  • Использование numpy.random для генерации случайных массивов;
  • Использование модуля UUID для генерации уникальных ID.

В статье также даются ссылки на некоторые другие тексты сайта, связанные с рассматриваемой темой.

Как использовать модуль random в Python

Для достижения перечисленных выше задач модуль random будет использовать разнообразные функции. Способы использования данных функций будут описаны в следующих разделах статьи.

Источник

NumPy, часть 3: random

Python 3 логотип

Здравствуйте! Я продолжаю работу над пособием по python-библиотеке NumPy.

В прошлой части мы научились работать с массивами.

Сегодня мы узнаем, как создавать массивы из случайных элементов и как работать со случайными элементами в NumPy.

Путь первый

Создавать списки, используя встроенный модуль random, а затем преобразовывать их в numpy.array:

numpy.random

Для создания массивов со случайными элементами служит модуль numpy.random.

Создание массивов

Самый простой способ задать массив со случайными элементами — использовать функцию sample (или random, или random_sample, или ranf — это всё одна и та же функция).

Без аргументов возвращает просто число в промежутке [0, 1), с одним целым числом — одномерный массив, с кортежем — массив с размерами, указанными в кортеже (все числа — из промежутка [0, 1)).

Читайте также:  Import custom classes java

С помощью функции randint или random_integers можно создать массив из целых чисел. Аргументы: low, high, size: от какого, до какого числа (randint не включает в себя это число, а random_integers включает), и size — размеры массива.

Также можно генерировать числа согласно различным распределениям (Гаусса, Парето и другие). Чаще всего нужно равномерное распределение, которое можно получить с помощь функции uniform.

Выбор и перемешивание

Перемешать NumPy массив можно с помощью функции shuffle:

Также можно перемешать массив с помощью функции permutation (она, в отличие от shuffle, возвращает перемешанный массив). Также она, вызванная с одним аргументом (целым числом), возвращает перемешанную последовательность от 0 до N.

Сделать случайную выборку из массива можно с помощью функции choice. Про неё стоит рассказать подробнее.

numpy.random.choice(a, size=None, replace=True, p=None)

  • a : одномерный массив или число. Если массив, будет производиться выборка из него. Если число, то выборка будет производиться из np.arange(a).
  • size : размерности массива. Если None, возвращается одно значение.
  • replace : если True, то одно значение может выбираться более одного раза.
  • p : вероятности. Это означает, что элементы можно выбирать с неравными вероятностями. Если не заданы, используется равномерное распределение.

Инициализация генератора случайных чисел

seed(число) — инициализация генератора.

get_state и set_state — возвращают и устанавливают состояние генератора.

Для вставки кода на Python в комментарий заключайте его в теги

  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов

Источник

Оцените статью