Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы системного анализа, принятия решений и обработки информации с помощью компьютерных программ. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Если название модуля слишком длинное, то спомо­щью ключевого слова as для него можно создать псевдо­ним:
Для подключения определенных атрибутов модуля используется инструкция from.
Подключение библиотек спомощью инструкции:
5.3. Библиотека NumPy
NumPy является основным пакетом для научных вычислений вPython.
NumPy (Numerical Python) — это открытая бес­платная библиотека Python, которая позволяет работать с многомерными матрицаами и матрицами, и делает это быстро [19]. Основной областью применения NumPy является реализация математических формул, работа­ющих сматрицами и векторами. NumPy, можно также использовать через Jupyter Notebook.
В начале его нужно установить: выполнить втерми­нале команду:
51
Далее импортируем пакет в Python, чтобы начать работу командой:
Типы данных вNumPy
Каждый встроенный тип данных имеет символьный код:
52
5.4. Операции сматрицами вPython
Операции матричной алгебры реализованы вPython ввиде библиотеке NumPy [20].
5.4.1. Создание матриц
Спомощью NumPy можно создавать структуры дан­ных (матрица), позволяющие хранить несколько значе­ний в одной переменной. Главный объект библиотеки NumPy— матрица.
После создания матрица NumPy над ним можно совершать различные действия. Например, можно изме­нять форму матрица или индексировать матрица, сцелью доступа кэлементам, выполнять математические опера­ции, такие как сложение, умножение иделение.
Рассмотрим, какие операции можно выполнять сматрицами вNumPy, изменять их форму ивыполнять итерации над ними.
Для создания матрицы вбиблиотеке NumPy исполь­зуется функция numpy.array(), вкоторую передается спи­сок значений.
Пример создания матриц в программе рассмотрен нарисунок 21.
С помощью этой функции можно создавать одномер­ные имногомерные матрица:
В скрипте инициировали переменную arr. Ззатем спомощью встроенной функции np.array создали Python­список.
Чтобы понять, как всё это выглядит экране, восполь­зуемся функцией print ():
53
Рисунок 21. Примеры создания матриц
Как мы видим, впервом случае получился одномер­ный матрица, во втором— двумерный матрица, который состоит издвух одномерных. Аво третьем— трёхмерный
Указать тип можно спомощью дополнительного пара­метра dtype. Пример использования функции dtype рас­смотрен нарисунке 22.
54
Рисунок 22. Пример использования функции dtype
Как видно изпримера, целые числа при выводе втер­минал были приведены кчислам сплавающей точкой.
5.4.2. Создание специальных матриц NumPy
Иногда существует необходимость сгенерировать матрицы суже заполненными значениями. Например, заполнить все ячейки нулями или единицами.
Пустой массив. Для этой цели вбиблиотеке есть функ­ция numpy.empty() [20]. Функция numpy.empty создает неинициализированный массив заданной формы иdtype.
Синтаксис функции:
Матрица изнулей. Для этой цели вбиблиотеке есть
функция numpy.zeros [20].
55
Синтаксис функции
Размер матрицы задается кортежем (рисунок 23).
Рисунок 23. Пример создания матрицы изнулей
Матрица изединиц. Взадачах машинного обучения и статистики, может потребоваться инициализировать вектор весов или другую структуру данных единицами. Создаётся спомощью функция numpy ones().
56
Синтаксис функции
Примеры создания матриц с помощью функции numpy.ones() [20], представлены нарисунке 24.
Рисунок 24. Пример создания матриц изединиц
57
5.4.3. Генерация целого случайного числа
Функция np.random.randint() [20], предназначен­ная для генерации случайных целых чисел. возвращает случайное целое число наоснове указанного диапазона (рисунок 25).
Синтаксис
58
Рисунок 25. Пример генерации матриц
5.4.4. Арифметические операции
Для работы сматрицами можно использовать ариф­метические операторы (+, -, *, /, //, %, **) (рисунок 26). Две матрицы можно складывать (+) и перемножать (*) спомощью арифметических операторов, если они имеют одинаковую размерность.
Рисунок 26. Пример использования арифметических
операций
Оператор (*) совершает поэлементное умножение, втом числе и для двухмерных массивов. Чтобы произ­вести матричное умножение, используется оператор @ (рисунок 27).
5.4.5. Индексация исрезы
Доступ кэлементам матрица осуществляется спомо­щью индексации. Индексация матриц начинается с0.
Допустим, унас есть двумерный матрица:
59
Рисунок 27. Пример использования оператора умножения
И мы хотим увидеть, какое значение элемента, кото­рый находится впервой строке натретьем месте. Сделать это можно спомощью специального оператора []:
Такие значения выбрали, так как нумерация элемен­тов вPython начинается снуля, азначит, первая строка будет нулевой индекс, атретий столбец— вторым (рису­нок 28, 29).
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]