ВВЕДЕНИЕ ................................................................................. 8
1. PYTHON ДЛЯ АНАЛИЗА ДАННЫХ.
ОСНОВЫ И ИНСТРУМЕНТЫ ..................................................... 11
Базовые инструменты аналитики.
Настройка окружения ................................................................ 11
Работа с Jupyter и Anaconda Navigator ..................................... 14
Взаимодействие с Python в Jupyter-notebook .......................... 17
Интерактивный режим интерпретатора Pytl1on ..................... 18
Менеджеры пакетов pip и conda ............................................... 23
Работа в PyCl1arn1 ...................................................................... 25
Среда для выполнения занятий по данному курсу
(JupyterLab) ................................................................................ 32
Синтаксис, типы, функции, цикл while
и условные выражения .............................................................. 35
Математика в Python ................................................................ 37
Порядок операций .................................................................... 39
Комментарии ............................................................................. 39
Переменные ............................................................................... 42
Строки ........................................................................................ 43
Цикл wl1ile .................................................................................. 49
Логические (или булевы) выражения ...................................... 52
Условные инструкции ............................................................... 53
else и еlif-операторы «когда это не так» .................................. 54
Отступы ...................................................................................... 56
Функции ..................................................................................... 58
Параметры и возвращаемые значения -
взаимодействие с функциями .................................................. 59
Лямбда-функции ....................................................................... 60
Программа «Калькулятор» ........................................................ 61
Пользовательские функции
(свои собственные функции) .................................................... 65
Передача параметров функциям ............................................. 67
Модернизация программы «Калькулятор» ............................. 68
Хитрые способы передачи параметров ................................... 70
Наборы данных, цикл for,
объектно-ориентированное программирование,
работа с файлами и исключения ............................................. 72
Кортежи, списки, словари и массивы ....................................... 73
Цикл fo r ...................................................................................... 86
Функция range() ......................................................................... 88
Пример. Создание функции «меню» ........................................ 92
Наша первая «игра» ................................................................... 93
Улучшение игры ........................................................................ 98
Классы ........................................................................................ 99
Файловый ввод-вывод ............................................................ 111
Обработка исключений (ошибок) .......................................... 118
Стандартные библиотеки ....................................................... 128
Интерфейс операционной системы ....................................... 129
Поиск файлов на основе подстановочных данных
(Wildcards) ................................................................................ 132
Аргументы командной строки ............................................... 133
Соответствие строковому шаблону
(регулярные выражения) ........................................................ 136
Математика, случайные числа и статистика ......................... 141
Доступ в Интернет ................................................................... 144
Даты и время ........................................................................... 145
Сжатие данных ........................................................................ 146
Измерение производительности ........................................... 147
Контроль качества кода .......................................................... 148
Многопоточность и многопроцессорность ........................... 150
2. РАБОТА С МАССИВАМИ ДАННЫХ ................................... 157
Библиотека NumPy ................................................................... 157
Создание массивов .................................................................. 158
Структурированные массивы ................................................. 163
Печать массивов ...................................................................... 165
Базовые операции ................................................................... 167
Индексы, срезы, итерации ...................................................... 170
Манипуляции с формой .......................................................... 17 4
Объединение массивов ........................................................... 178
Разбиение массива .................................................................. 179
Копии и представления .......................................................... 179
Маскированные массивы ....................................................... 182
Библиотека pandas ................................................................... 184
Знакомство с библиотекой pandas ......................................... 185
Структура данных Series ......................................................... 186
Структура данных DataFran1e ................................................. 191
Доступ к данным в структурах pandas . . . . . . . . . . . . . . . . . . . 194
Pandas и отсутствующие данные ........................................... 205
3. СТАТИСТИКА В PYTHON ..................................................... 213
Статистика в NumPy и в Statistics.
Введение в Scipy.Stats ............................................................... 213
Статистические функции в Nu1nPy ........................................ 213
Некоторые статистические функции из Statistics ................ 221
Статистика при помощи модуля Scipy.Stats .......................... 226
Scipy. Примеры статистики, z-статистика и p-value .......... 243
Генерация случайных чисел ................................................... 243
Проблема отсутствия явно указанных
параметров формы ................................................................. 258
Анализ принадлежности ряда значений
к конкретному закону распределения ................................... 260
Куртозис и сдвиг
(моменты и прочие понятия статистики) ............................. 263
Диаграмма размаха ................................................................. 265
Примеры статистики из жизни .............................................. 268
4. SQL И МЕТРИКИ ДАННЫХ ................................................. 296
SQL - язык для работы с базами данных
(на примере SQLite) .................................................................. 296
Немного о базах данных ......................................................... 296
SQLite ....................................................................................... 297
Выполнение запросов к базе данных .................................... 300
Курсор в базе данных .............................................................. 301
Оператор CREATE TABLE и таблицы в базе данных .............. 302
Оператор INSERT ..................................................................... 302
Создание именованного датафрейма из таблицы SQLite ...... 304
Операторы и функции SQL
(для аналитики данных и вычисления метрик) .................... 307
типы данных (полей) в SQLite ................................................ 320
Метрики (на примере ключевых
продуктовых метрик) .............................................................. 323
Бизнес-метрики для продаж .................................................. 323
Подключение библиотек,
загрузка и пред обработка данных ......................................... 324
Метрика «ежемесячный доход» .............................................. 330
Метрика «ежемесячный темп роста дохода» ........................ 333
Метрика «ежемесячный доход по странам» .......................... 335
Метрика «ежемесячная активность клиентов» ..................... 339
Метрика «ежемесячное количество заказов» ........................ 341
Метрика «ежемесячный средний доход за заказ» ................ 343
Метрика «коэффициент новых клиентов» ............................ 344
Метрика «ежемесячная ставка удержания» .......................... 352
Метрика «скорость оттока клиентов» .................................... 356
Метрика «коэффициент удержания когорт» ......................... 357
5. МАШИННОЕ ОБУЧЕНИЕ
(АНАЛИТИКА БОЛЬШИХ ДАННЫХ) .................................... 367
TensorFlow Keras. Решение математических задач ........... 367
Рассмотрим библиотеку TensorFlow и ее надстройку Keras ..... 367
Пример 1. У= 3Х + 1 (основы работы с TensorFlow Keras:
нейронные сети, их функции активации, веса,
смещения и типы ошибок) ..................................................... 371
Пример 2. У= 2Х ...................................................................... 385
Пример 3. У= sin(X) ................................................................. 392
Пример 4. У= (К+ Х) х Х .......................................................... 396
Настройки оптимизатора ....................................................... 400
TensorFlow Keras. Классификация изображений ............... 403
Создание нейросети и использование датасета MNIST ....... 403
Подготовка и классификация
пользовательской картинки ................................................... 422
Сделаем выводы ...................................................................... 426
Библиотека Scikit-learn.
Обучение с учителем и без учителя ...................................... 429
Знакомство с библиотекой Scikit-learn .................................. 429
Обучение с учителем .............................................................. 430
Обучение без учителя ............................................................. 431
Функциональность Scikit-learn ............................................... 432
Кластерный анализ ( общий обзор,
К -средних, линейная регрессия
и деревья решений) ................................................................. 433
БУДЕТ ПОЛЕЗНО ........................................................................ 463
Издание представляет собой практический курс, состоящий из 13 разделов (12 из которых интерактивные — для среды JupyterLab). Курс содержит введение в основы языка Python с дальнейшим упором на аналитику данных (работа с наборами данных, статистика, язык SQL, метрики и машинное обучение). Формат материала прост для понимания, а каждый новый раздел включает в себя набор необходимых файлов, ссылок и практических заданий.
Предназначено для широкого круга читателей, интересующихся вопросами программирования и аналитики данных на Python.
Благодаря рассмотрению основ языка Python потенциальной аудиторией курса могут являться обучающиеся, ранее не изучавшие программирование.