Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы системного анализа, принятия решений и обработки информации с помощью компьютерных программ. Учебное пособие
.pdf
Если название модуля слишком длинное, то спомощью ключевого слова 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
