Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Основы работы с библиотекой NumPy

Покупка
Новинка
Артикул: 853744.01.99
Доступ онлайн
500 ₽
В корзину
Рассмотрены возможности библиотеки NumPy в области решения задач линейной алгебры, работы с массивами и генерирования случайных чисел и последовательностей. Для оценки уровня усвоения студентами пройденного материала предложены варианты заданий для самостоятельной работы. Предназначено для бакалавров, обучающихся по направлениям подготовки 09.03.02 «Информационные системы и технологии», 22.03.01 «Материаловедение и технологии материалов», 28.03.02 «Наноинженерия», 18.03.01 «Химическая технология», 29.03.04 «Технология художественной обработки материалов», 29.03.05 «Конструирование изделий легкой промышленности», изучающих дисциплины «Алгебра и геометрия», «Информатика», «Информационные технологии», «Вычислительная математика», «Теория вероятностей и математическая статистика». Подготовлено на кафедре информатики и прикладной математики.
Титов, А. Н. Основы работы с библиотекой NumPy : учебно-методическое пособие / А. Н. Титов, Р. Ф. Тазиева ; Минобрнауки России, Казан. нац. исслед. технол. ун-т. - Казань : Изд-во КНИТУ, 2024. - 112 с. - ISBN 978-5-7882-3470-0. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2199332 (дата обращения: 10.03.2025). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство науки и высшего образования Российской Федерации 
Казанский национальный исследовательский 
технологический университет 
А. Н. Титов, Р. Ф. Тазиева 
ОСНОВЫ РАБОТЫ 
С БИБЛИОТЕКОЙ NUMPY
Учебно-методическое пособие 
Казань 
Издательство КНИТУ 
2024 


УДК 004.42(075) 
ББК  32.97я7  
Т45 
Печатается по решению редакционно-издательского совета  
Казанского национального исследовательского технологического университета 
Рецензенты: 
д-р пед. наук, доц. Ю. В. Торкунова 
канд. экон. наук, доц. О. С. Семичева 
Т45 
Титов А. Н. 
Основы работы с библиотекой NumPy : учебно-методическое пособие / А. Н. Титов, Р. Ф. Тазиева; Минобрнауки России, Казан. нац. 
исслед. технол. ун-т. – Казань : Изд-во КНИТУ, 2024. – 112 с. 
ISBN 978-5-7882-3470-0 
Рассмотрены возможности библиотеки NumPy в области решения задач линейной алгебры, работы с массивами и генерирования случайных чисел и последовательностей. Для оценки уровня усвоения студентами пройденного материала 
предложены варианты заданий для самостоятельной работы. 
Предназначено для бакалавров, обучающихся по направлениям подготовки 
09.03.02 «Информационные системы и технологии», 22.03.01 «Материаловедение 
и технологии материалов», 28.03.02 «Наноинженерия», 18.03.01 «Химическая 
технология», 29.03.04 «Технология художественной обработки материалов», 
29.03.05 «Конструирование изделий легкой промышленности», изучающих дисциплины «Алгебра и геометрия», «Информатика», «Информационные технологии», «Вычислительная математика», «Теория вероятностей и математическая 
статистика».  
Подготовлено на кафедре информатики и прикладной математики. 
УДК 004.42(075) 
ББК  32.97я7 
ISBN 978-5-7882-3470-0 
© Титов А. Н., Тазиева Р. Ф., 2024 
© Казанский национальный исследовательский 
технологический университет, 2024 
2


О Г Л А В Л Е Н И Е
Введение .................................................................................................................... 
5 
1. NUMPY. НАЧАЛО РАБОТЫ 
.............................................................................. 
7 
1.1. Объекты библиотеки NumPy .................................................................. 
10 
1.2. Типы данных ............................................................................................ 
15 
1.3. Вывод массивов на экран 
........................................................................ 
16 
2. РАБОТА С МАССИВАМИ ............................................................................... 
19 
2.1. Атрибуты массивов ................................................................................. 
19 
2.2. Создание массивов................................................................................... 
20 
2.3. Доступ к элементам массива .................................................................. 
32 
2.4. Сортировка элементов массива 
.............................................................. 
37 
2.5. Операции над множествами из массивов 
.............................................. 
42 
2.6. Преобразования массивов. Функции ravel(), reshape(), resize(), 
transpose(), swapaxes() и rot90() ..................................................................... 
46 
2.7. Удаление, добавление строк и столбцов 
............................................... 
48 
2.8. Разбиение массива ................................................................................... 
53 
2.9. Математические операции над элементами массива 
........................... 
54 
2.10. Логические операции ............................................................................ 
57 
2.11. Статистические операции ..................................................................... 
59 
2.12. Строковые функции 
............................................................................... 
74 
2.13. Дополнительные возможности. Чтение данных из файла ................ 
78 
3. МАТРИЧНЫЕ ОПЕРАЦИИ С МАССИВАМИ. РАБОТА С МОДУЛЕМ
LINALG 
.................................................................................................................... 
81 
3.1. Умножение векторов и матриц .............................................................. 
81 
3.2. Работа с модулем numpy.linalg 
............................................................... 
84 
3 


4. ГЕНЕРИРОВАНИЕ СЛУЧАЙНЫХ ЧИСЕЛ 
................................................... 
93 
4.1. Генерирование чисел из дискретных распределений .......................... 
93 
4.2. Генерирование чисел из непрерывных распределений ....................... 
97 
4.3. Генерирование случайной выборки из заданного массива ............... 
102 
Задания для самостоятельной работы ................................................................ 
107 
Литература 
............................................................................................................. 
110 
4 


В В Е Д Е Н И Е
Главным разработчиком библиотек NumPy и SciPy, предназначенных для проведения научных и технических вычислений, является 
Трэвис Олифант (Travis Oliphant). NumPy (Numerical Python) – это библиотека с открытым исходным кодом, отделившаяся от проекта SciPy. 
NumPy является наследником пакетов Numeric и NumArray и была выпущена в 2005 году. Основана NumPy на библиотеке LAPAC, которая 
написана на Fortran. Официальный сайт библиотеки – www.numpy.org. 
В силу того что NumPy базируется на Fortran, это быстрая библиотека. Библиотека поддерживает векторные операции с многомерными массивами. Эти два обстоятельства делают ее крайне удобной. 
Кроме базового варианта (многомерные массивы в базовом варианте), 
NumPy включает в себя набор модулей для решения специализированных задач:  
– модуль numpy.linalg реализует операции линейной алгебры
(простое умножение векторов и матриц есть в базовом варианте); 
– модуль numpy.random реализует функции для работы со случайными величинами; 
– модуль numpy.fft реализует прямое и обратное преобразование
Фурье. 
NumPy активно используется в сочетании с различными библиотеками, такими как Pandas, Scipy, Matplotlib, scikit-learn и т. д. 
Пособие включает в себя 4 главы. В первой рассмотрены объекты 
библиотеки и типы данных, предоставляемые библиотекой, приведен 
список основных математических функций. Во второй главе показано, 
как можно создать основной объект библиотеки – n-мерный массив, 
приведены его атрибуты. Показано, как можно осуществить доступ 
к элементам массива, как проводить операции над массивами: арифметические, логические, статистические. Рассмотрены вопросы преобразования массивов: удаления и добавления строк и столбцов, сортировки 
массивов, разбиения его на несколько частей. Третья глава посвящена 
работе с модулем numpy.linalg. Показано, как можно умножать вектора 
и матрицы, вычислять определитель матрицы, ее ранг и норму, собственные значения и собственные вектора, находить обратную матрицу, решать системы линейных алгебраических уравнений (СЛАУ), 
находить приближенное решение СЛАУ методом наименьших квадра5 


тов в случае, когда система несовместна. На большом количестве примеров продемонстрировано назначение параметров каждого рассмотренного метода или функции. В четвертой главе рассмотрена работа 
с модулем numpy.random: генерирование случайных чисел с заданным 
дискретным или непрерывным законом распределения, генерирование 
случайной выборки заданного объема из имеющегося массива.  
Материал, изложенный в пособии, может быть использован при 
проведении лабораторных занятий по информационным технологиям, 
обработке экспериментальных данных, линейной алгебре, теории вероятностей и математической статистике. Используемая в пособии версия 
NumPy – 1.23.3. 
Вся работа была проведена в Jupyter Notebook и Google Colab, 
кроме специально оговоренных случаев. 
6 


.  N U M P Y .  Н А Ч А Л О  Р А Б О Т Ы
Для работы с библиотекой NumPy ее нужно установить на компьютер. Некоторые среды разработки Python, такие как, например, 
Google Colab, уже включают в себя различные библиотеки, в том числе 
и NymPy. Их устанавливать не надо, а следует только импортировать. 
Проверить, установлена ли данная библиотека (модуль), можно, набрав 
в командной строке pip freeze. Получится список, аналогичный приведенному на рис. 1.1.  
Рис. 1.1. Список установленных библиотек Python 
Если в этом списке нет нужной библиотеки, установить ее 
в Python можно несколькими способами. Самый простой – установить 
библиотеку из репозитория PyPI (Python Package Index). Репозиторий – 
это место, где хранятся и поддерживаются какие-либо данные. В Python 
это коллекция дополнительных библиотек, хранящаяся на сервере. 
В настоящий момент количество библиотек в репозитории составляет 
более 400 тысяч. 
7 


Для установки библиотек из репозитория необходимо подключение к сети Интернет. Далее в консоли (терминале) нужно выполнить 
команду: pip install <название библиотеки>. 
Установить библиотеку NumPy можно командой 
pip install numpy  
После ввода команды начнется загрузка установочного пакета 
и дополнительных библиотек, от которых зависит NumPy. Затем 
начнется процесс установки. Если установка пройдет успешно, в командной строке появится сообщение: 
Successfully installed numpy  
По умолчанию установится последняя версия библиотеки. 
Узнать версию, если вы работаете в Jupyter Notebook или в другой среде 
разработки, можно, выполнив команды  
import numpy as np # импорт библиотеки 
np.version.version 
В программе обращаться к NumPy можно по псевдониму np. 
Это упростит чтение кода. Такой импорт широко используется сообществом программистов, поэтому рекомендуется его придерживаться, 
чтобы код был понятен каждому. С помощью команды from можно импортировать либо все функции (методы) библиотеки (символ *), либо 
лишь некоторые из них (например, sin, cos). Воспользоваться какойлибо функцией библиотеки, например вычислить sin(3), можно одним 
из способов:  
import numpy;  
y=numpy.sin(3); y 
import numpy as np;  
y=np.sin(3); y 
from  numpy import sin; 
y=sin(3); y 
from  numpy import * ; 
y=sin(3); y 
import numpy as abc;  
y=abc.sin(3); y 
Использовать abc или любое другое имя вместо np не рекомендуется. 
8 


Набрав после импортирования библиотеки в строке ввода редактора IDLE np. и нажав клавишу <Tab>, получим отображения содержимого пространства имен NumPy: 
Выбрав, например, пункты add_newdoc_ufunc и count_nonzero, 
получим следующую информацию: 
Для отображения встроенной документации можно набрать и выполнить строки: 
import numpy as np ; np? 
В результате получим краткую характеристику библиотеки (модуля), фрагмент которой представлен далее: 
Type: module 
String form: <module 'numpy' from 'C:\\Users\\Администратор\\ 
AppData\\Local\\Programs\\Python\\Python310\\ 
lib 
\\site-packages\\ 
numpy\\__init__.py'> 
File: c:\users\администратор\appdata\local\programs\python\python310\ 
lib\site-packages\numpy\__init__.py 
Docstring:  
NumPy 
Provides 
1. An array object of arbitrary homogeneous items
9 


  2. Fast mathematical operations over arrays 
  3. Linear Algebra, Fourier Transforms, Random Number Generation 
How to use the documentation 
Более детальную документацию вместе с учебниками и другими 
ресурсами можно найти по адресу – https://numpy.org/. 
1 . 1 .  О б ъ е к т ы  б и б л и о т е к и  N u m P y  
Основным объектом NumPy является однородный многомерный 
массив (в NumPy он называется NumPy.ndarray). Многомерность массива означает, что у него может быть несколько осей (axes). Число осей 
называется рангом (rank). Массив в Python – это упорядоченная структура данных, используемая для хранения однотипных объектов. По своему функциональному назначению массивы схожи со списками, но обладают некоторыми ограничениями на тип и размер входных данных. 
Главным отличием списка и массива является то, что списки могут хранить разнородные данные, а массивы – только данные одного типа. Такое ограничение позволяет многократно увеличить скорость вычислений, а также избежать ненужных ошибок с приведением и обработкой 
типов. Список – это динамическая структура. Размер списка можно изменять во время выполнения программы (удалять, добавлять элементы), чего нельзя делать с массивами. Следует также помнить, что 
одни и те же операции со списками и массивами могут привести к разным результатам. Массивы NumPy оптимизированы для сложных математических и статистических операций. С массивами можно проводить числовые операции с большим объемом информации в разы быстрее и намного эффективнее, чем со списками. 
В NumPy можно выделить три вида массивов: 
– произвольные многомерные массивы (array); 
– матрицы (matrix) – двумерные квадратные массивы, для которых 
определены матричные операции. Для работы с матрицами можно вместо 
обычных массивов создавать объекты, принадлежащие к классу matrix; 
– сетки (grid) – массивы, в которых записаны значения координат 
точек сетки (обычно ортогональной). Сетки позволяют удобно вычислять значение функций многих переменных. 
10 


Похожие

Доступ онлайн
500 ₽
В корзину