Python, Django, Data Science
- ISBN
- 978-5-9729-2143-0
- Кол-во страниц
- 516
- Формат
- 148х210
- Переплет
- Твердый; Полноцвет
- Год
- 2025
- Вес
- 0,746
Библиографическая запись:
Майтак, Р. В.
М14 Рython, Django, Data Science : учебное пособие / Р. В. Майтак, П. А. Пылов, А. В. Протодьяконов. – Москва ; Вологда : Инфра-Инженерия, 2025. – 516 с. : ил.
Показаны основы работы на Python, а также два его основных ответвления – веб-разработка на Django и область прикладного искусственного интеллекта, являющаяся частью Data Science. Для студентов и сотрудников высших технических учебных заведений, а также специалистов прикладной сферы анализа данных.
Основные концепции в Python 11
С чего начать изучение Python 11
Основные типы в Python 11
Практическая часть в интерактивном интерпретаторе Python 12
Встроенные функции в Python 15
Встроенные функции 15
Функция dir и атрибуты объектов 17
Практическая часть раздела 18
Форматирование кода и PEP8 22
Отступы в Python 22
Форматирование кода Python и PEP8 23
Комментарии в Python 24
Введение в функции 26
Объявление функции, её параметры и аргументы 26
Ключевое слово return в функциях 28
Выражения и инструкции 31
Выражения 31
Инструкции 33
Переменные 35
Переменные 35
Объявление переменных и присвоение им значений 36
Типы и структуры данных 38
Динамическая типизация 38
Типы и структуры данных 40
Переменные и объекты 41
Встроенная функция id 42
Практическая часть раздела 44
Строки 46
Строки 46
Практическая часть к данному разделу 47
Встроенные функции и методы строк 48
Практическая часть раздела 49
Числа в Python 52
Целые числа 52
Числа с плавающей точкой 54
Комплексные числа 56
Логический тип 58
Логический тип – bool 58
Практическая часть к данному разделу 59
Магические методы 61
Конвертация типов 61
Практика – Введение в магические методы 63
Магические методы 65
Списки 68
Списки 68
Методы списков 72
Разные операции со списками 74
Копирование списков 76
Словари 79
Словари 79
Изменение и удаление значений в словарях 81
Использование переменных в словарях 83
Длина словаря 85
Несуществующие ключи и метод get 86
Кортежи 89
Кортежи 89
Методы кортежей 93
Наборы 95
Наборы 95
Изменяемые объекты в наборах 97
Практическая часть к данному разделу 98
Методы наборов 99
Практическая часть раздела 102
Диапазоны 106
Диапазоны 106
Сравнение типов 108
Функция zip 110
Встроенная функция zip 110
Конвертация zip в dict 111
Изменение объектов в Python 112
Изменение объектов в Python 112
Поведение изменяемых объектов 114
Как избежать изменения копий 117
Практическая часть раздела 119
Функции в Python 122
Функции 122
Функция pass 125
Передача неизменяемых объектов в функцию 125
Передача изменяемых объектов в функцию 126
Предотвращение изменения внешних объектов в функции 127
Аргументы функций 129
Аргументы функций 129
Объединение всех аргументов в кортеж в функции 130
Аргументы с ключевыми словами 132
Объединение именованных аргументов в словарь 133
Параметры функций по умолчанию 134
Значения параметров функции по умолчанию 134
Практическая часть раздела 135
Callback-функции 137
Callback-функции 137
Практическая часть раздела 138
Работа с функциями 140
Правила работы с функциями 140
Документация функции docstring 140
Область видимости 142
Жизненный цикл переменных 144
Ключевое слово global в функциях 146
Практическая часть раздела 147
Операторы 149
Операторы 149
Операторы и магические методы 150
Функция dir 152
Бинарные и унарные операторы 153
Операторы in, not in 154
Приоритетность операторов 155
Ложные значения 156
Логические операторы в Python 158
Логические операторы 158
Операторы короткого замыкания or и and 159
Практическая часть раздела 160
Распаковка словаря 162
Оператор распаковки словаря 162
Объединение словарей 163
Инструкция del в Python 166
Инструкция del 166
Соединение строк в Python 167
Соединение строк 167
Формирование строк с f-string 168
Практическая часть раздела 168
Лямбда-функция 170
Лямбда-функция 170
Практическая часть раздела 173
Обработка ошибок в Python 174
Обработка ошибок 174
Получение информации об ошибке 175
Разные типы ошибок в разных блоках except 176
Блоки else и finally в обработке ошибок 177
Отсутствие типа ошибки и класс Exception 178
Создание ошибок 179
Распаковка списков и кортежей 181
Распаковка списков и кортежей 181
Распаковка словаря в именованные аргументы 184
Распаковка списка в позиционные аргументы 186
Условные инструкции if 188
Условные инструкции 188
Инструкция if 188
Инструкция if else 191
Инструкция if elif 192
Использование if в функциях 194
Тернарный оператор 196
Тернарный оператор 196
Практическая часть к данному разделу 198
Циклы 199
Циклы 199
Цикл for in 200
Практическая часть раздела 202
Итерация по ключам со значениями в словаре 203
Цикл for in для наборов 205
Цикл while 207
Цикл while 207
Использование continue в циклах 208
Сокращенный цикл for in 210
Сокращенный цикл for in 210
Практическая часть раздела 215
Генераторы в сокращенном цикле for in 215
Практическая часть раздела 218
Объекты и классы 219
Объекты и классы 219
Практическая часть к данному разделу 221
Магический метод классов s_init__ 223
Методы экземпляров и классов 226
Статистические методы классов 230
Атрибуты класса 231
Магические методы в классах 234
Магические методы в классах 234
Наследование из других классов 236
Декораторы 238
Введение в декораторы 238
Практика – Wrapper функция 239
Пример декоратора – Логирование данных 242
Пример декоратора – Проверка аргументов 245
Пример декоратора – Проверка аутентификации пользователя 246
Модули 249
Модули 249
Встроенные модули 250
Создание пакетов 252
JSON 253
JSON 253
Конвертация JSON в словарь 254
Работа с файлами 256
Работа с файлами 256
Чтение и запись файлов 257
Работа с zip-архивами 259
Создание zip-архива 259
Практика – Распаковка zip-архива 259
Работа с CSV-файлами 261
Работа с CSV-файлами 261
Практика – Чтение из CSV-файлов 261
Работа с датами и временем 262
Модуль datetime 262
Модуль time 264
Модули для работы с числами 265
Модуль random 265
Модуль math 265
Рекурсивные функции 266
Работа с регулярными выражениями 268
Модуль для регулярных выражений re 268
Проверка email с помощью регулярного выражения 270
Отправка email 271
Отправка email с помощью модуля smtplib 271
Компоновка и отправка email 273
HTML-шаблоны для отправки email 274
Отправка вложений в email 276
Работа с базой данных SQLite 278
Модуль SQLite3 и создание базы данных 278
Практика – Запись данных в таблицу SQLite 281
Практика – Чтение данных из таблицы SQLite 282
Другие встроенные модули 284
Модуль array 284
Аргументы функции и модуль sys 286
Модуль webbrowser 287
Виртуальные среды, pip и pipenv 288
Менеджер пакетов pip 288
Виртуальные среды и pipenv 290
Создание виртуальной среды 291
Использование пакетов в виртуальной среде 293
Дерево пакетов и обновление пакетов 294
Django – Введение в веб-фреймворк 295
Введение в Django и паттерн MVC 295
Установка Django 298
Django – Создание проекта 300
Создание нового проекта Django 300
Запуск сервера Django 300
Django – Создание приложения 302
Создание приложения Django 302
Создание функции вида 303
Привязка функции вида к маршруту 304
Добавление маршрутов приложения к маршрутам проекта 304
Django – База данных и миграции 306
Применение миграций для базы данных 306
Создание аккаунта администратора 308
Создание моделей 309
Изменение списка установленных приложений 310
Создание миграций 311
Применение созданных миграций 311
Создание категории с помощью модели 312
Подключение моделей в панели администратора 314
Добавление магического метода s_str__ в модели 315
Отображение названий курсов на веб-странице 316
Django – Создание шаблонов 318
Создание HTML-шаблона 318
Использование данных из базы данных в шаблоне 319
Подключение библиотеки стилей Bootstrap 321
Создание базового HTML-шаблона 323
Добавление общего навигационного блока 325
Django – Роутинг между страницами 329
Добавление маршрута для одного курса 329
Создание функции вида для страницы курса 329
Создание шаблона для страницы курса 330
Отображение страницы 404, если курса нет в базе 331
Настройка роутинга между страницами 333
Роутинг с использованием имен маршрутов 334
Роутинг с использованием имен приложений и маршрутов 335
Перенос шаблонов в общую папку 336
Django – Создание сервиса API 338
Создание приложения API 338
Создание моделей для приложения API 339
Настройка роутинга для приложения API 340
Проверка работы сервиса API 341
Добавление версии API 343
Установка программы Postman 345
Настройка аутентификации и авторизации для API 348
Создание API-ключа 349
Удаление курса через API 351
Создание нового курса с помощью POST 353
Изменение данных перед отправкой клиентам через API 355
Django – Итоги по проекту 357
Рефакторинг приложения API 357
Перенос магазина на главную страницу 359
Изменение панели администратора 361
Jupyter Notebook 365
Установка и запуск Jupyter Notebook 365
Знакомство с Jupyter Notebook 367
Использование переменных в Jupyter 368
Импорт из встроенных модулей в Jupyter 371
Установка внешних модулей в Jupyter 372
Jupyter Lab 374
Установка Jupyter Lab 374
Знакомство с Jupyter Lab 375
Добавление оглавления и разметка 375
Управление файлами, консоль и терминал в Jupyter Lab 376
Текстовые файлы и подсказки в Jupyter Lab 378
NumPy – Создание массивов 381
Введение в NumPy 381
Создание одномерных массивов в NumPy 381
Форма, размерность и тип данных в NumPy 384
Двухмерные массивы в NumPy 386
Оси в массивах NumPy 388
Слияние массивов NumPy 390
Заполнение массива нулями и единицами 392
Модуль random для массивов NumPy 392
Методы randint, uniform и choice 394
Методы arange и reshape 396
Метод flatten для трансформации в одномерный массив 397
Практическая часть раздела 398
Pandas – работа с данными 406
Обзор Pandas и создание DataFrame 406
Обзор DataFrame в Pandas 408
Метод describe для DataFrame в Pandas 410
Выбор колонок по типу данных 411
Отсутствующие значения и метод isna 412
Конвертация строк в даты 413
Series в Pandas 415
Операции с Series в Pandas 416
Выборка столбцов и рядов в DataFrame с помощью loc и iloc 417
Фильтрация в DataFrame 419
Фильтрация с помощью метода isin 420
Сортировка в DataFrame 422
Добавление и изменение в данных в Data Frame 423
Слияние DataFrames 425
Удаление колонок и рядов в DataFrame 426
Генерация случайных данных для DataFrame 428
Сохранение DataFrame в CSV-файле 431
Создание DataFrame из CSV-файла 432
Сохранение DataFrame в Excel и JSON файлах 432
Анализ и группирование данных, загруженных из CSV-файла 433
Matplotlib – Создание диаграмм 435
Введение в Matplotlib и базовые диаграммы 435
Примеры plot диаграмм – line, bar, area, pie 440
Пример гистограммы 444
Пример диаграммы boxplot 445
Пример диаграммы heatmap 447
Загрузка данных из CSV-файла для визуализации 450
Отображение реальных данных на диаграммах 453
Диаграммы для транспонированного DataFrame 458
Scikit-learn – Машинное обучение 462
Введение в Scikit-learn и обзор данных для создания 462
Планирование шагов по построению модели 464
Этап очистки данных перед построением модели 466
Попытка создания модели 468
Этап кодирования с помощью метода replace 471
Замена значений на цифровые с помощью LabelEncoder 472
Создание модели после очистки и кодирования данных 473
Предсказание целевых значений с помощью модели 474
Разбиение данных на части для обучения и тестирования модели 476
Оценка точности построенной модели 479
Экспорт модели в .dot файл для визуализации процесса принятия решений 480
Отображение диаграмм на основании данных для модели 484
Модель машинного обучения для реальных данных 487
Загрузка большого реального набора данных для построения модели 487
Загрузка данных из большого CSV-файла и базовый анализ 488
Очистка данных после загрузки 490
Отображение диаграмм на этапе анализа данных 492
Кодирование данных перед созданием модели 496
Отображение дополнительных диаграмм Decision Tree Classifier 499
Фильтрация данных на этапе анализа 501
Создание модели с помощью Decision Tree Classifier 503
Оценка точности модели, построенной с помощью Decision Tree Classifier 505
Создание моделей с помощью RandomForestClassifier, KNeighborsClassifier и Logis 506
Построение модели без отзывов пассажиров 508
Тестирование модели на основании вручную созданных данных 510
Сохранение модели в файле и загрузка из файла 511
Библиографический список 513