Предисловие....17
Кому адресована эта книга....17
Структура издания....17
Как извлечь максимальную пользу из книги....18
Загрузка файлов с примерами кода....19
Условные обозначения....19
От издательства....20
Об авторах....14
О научных редакторах....15
Часть I. Основы: чтение и запись файлов Excel на R и Python....21
Глава 1. Чтение данных из электронных таблиц Excel....22
Технические требования....23
Обработка данных Excel с помощью пакетов R....24
Чтение файлов Excel в среду R....25
Установка и загрузка библиотек....25
Чтение нескольких листов с помощью readxl и пользовательской функции....28
Пакеты Python для работы с Excel....31
Пакеты Python для работы с данными Excel....32
Факторы, которые следует учесть при выборе пакета....32
Открытие листа Excel из среды Python и чтение данных....33
Использование пакета pandas....33
Использование пакета openpyxl....34
Чтение нескольких листов с помощью Python (openpyxl и пользовательских функций)....36
Важность чтения нескольких листов....36
Использование пакета openpyxl для получения доступа к листам....37
Чтение данных с каждого листа....37
Получение данных из листа с помощью пакета openpyxl....37
Объединение данных из нескольких листов....38
Пользовательская функция для чтения нескольких листов....39
Настройка кода....39
Резюме....43
Глава 2. Запись данных в электронные таблицы Excel....44
Технические требования....45
Пакеты для записи данных в файлы Excel....45
Пакет writexl....45
Пакет openxlsx....46
Пакет xlsx....47
Развернутый обзор и выводы....51
Создание листов Excel и работа с ними с помощью Python....53
Зачем экспортировать данные в Excel....53
Простой экспорт данных в Excel с помощью pandas....53
Использование пакета openpyxl для манипулирования данными в Excel....55
Создание новой рабочей книги....55
Добавление листов в рабочую книгу....55
Удаление листа....56
Выполнение различных действий с существующей рабочей книгой....57
Выбор между openpyxl и pandas....58
Прочие альтернативы....59
Резюме....59
Глава 3. Запуск кода VBA из среды R и Python....60
Технические требования....61
Установка и описание R-пакета RDCOMClient....61
Установка RDCOMClient....63
Выполнение кода VBA с помощью RDCOMClient....63
Интеграция VBA с Python с помощью pywin32....66
Зачем запускать код VBA из среды Python....66
Настройка среды....67
Обработка ошибок, возникающих при настройке среды....69
Написание и выполнение кода VBA....70
Автоматизация задач в Excel....73
Плюсы и минусы запуска кода VBA из среды Python....75
Резюме....76
Глава 4. Дальнейшая автоматизация: планирование задач и электронной рассылки....77
Технические требования....78
Установка библиотеки tasksheduleR и знакомство с ней....78
Создание сценариев....79
Использование пакета RDCOMClient с Outlook....81
Использование пакетов Microsoft365R и blastula....82
Пакет Microsoft365R....82
Пакет blastula....83
Запланированный запуск сценариев Python....85
Важность запланированного запуска сценариев Python....86
Встроенные инструменты для планирования заданий....87
Сторонние библиотеки для планирования задач....88
Рекомендации по обеспечению надежной автоматизации....92
Электронные уведомления и автоматизация с помощью Python....94
Важность использования электронных уведомлений в сценариях Python....94
Настройка служб электронной почты....95
Отправка простых электронных писем....97
Отправка электронных уведомлений о состоянии сценария....99
Резюме....101
Часть II. Наводим красоту: форматирование, графики и многое другое....102
Глава 5. Форматирование листа Excel....103
Технические требования....103
Установка и использование R-пакета styledTables....104
Установка и использование R-пакета basictabler....105
Расширенные возможности форматирования с помощью Python....111
Форматирование ячеек....111
Условное форматирование....115
Сводные таблицы....118
Резюме....122
Глава 6. Вставка графиков ggplot2/matplotlib....123
Технические требования....123
Области применения визуализации данных....123
Визуализация данных с помощью пакета ggplot2....125
Визуализация данных с помощью пакета cowplot....130
Столбчатые диаграммы....133
Создание столбчатых диаграмм с помощью пакета ggplot2....134
Гантельные диаграммы....137
Создание гантельных диаграмм с помощью пакета ggplot2....138
Знакомство с библиотеками для визуализации данных....139
plotnine — элегантная грамматика графики....140
matplotlib — классические и настраиваемые графики....140
plotly — интерактивные визуализации....140
seaborn — визуализация статистических данных....141
Создание графиков с помощью plotnine....141
Концепция грамматики графики....141
Создание различных типов графиков....142
Настройка визуальных элементов графика plotnine....148
Добавление дополнительных слоев....149
Создание графиков с помощью matplotlib....153
Настройка визуальных элементов графика matplotlib....159
Встраивание визуализаций в файлы Excel....164
Базовый процесс встраивания визуализаций....164
Резюме....166
Глава 7. Сводные таблицы....167
Технические требования....167
Знакомство со сводными таблицами....167
Создание таблицы с помощью R-функции xtabs....169
Создание таблицы с помощью R-пакета gt....170
Создание сводных таблиц с помощью R-пакета tidyquant....173
Создание сводных таблиц на Python и управление ими с помощью win32com и pywin32....175
Настройка среды Python....175
Создание сводных таблиц....175
Работа со сводными таблицами....178
Группировка данных в сводных таблицах....179
Резюме....182
Часть III. Разведочный, статистический анализ данных и анализ временных рядов....183
Глава 8. Разведочный анализ данных с помощью R и Python....184
Технические требования....185
Анализ данных с помощью R-пакета skimr....186
Использование R-пакета GGally....188
Использование R-пакета DataExplorer....190
Очистка данных Excel в среде Python....193
Обработка отсутствующих значений....194
Обработка дубликатов....196
Преобразование типов данных....197
Проблемы, характерные для данных Excel....198
Выполнение разведочного анализа данных с помощью Python....198
Сводная статистика....198
Распределение данных....201
Взаимосвязи между переменными....205
Диаграммы рассеяния....207
Визуализация ключевых атрибутов....208
Резюме....208
Глава 9. Статистический анализ: линейная и логистическая регрессия....209
Технические требования....210
Линейная регрессия....210
Логистическая регрессия....210
Инструменты для реализации линейной и логистической регрессии....211
Выполнение линейной регрессии в среде R....211
Выполнение линейной регрессии с помощью базового функционала R....211
Выполнение линейной регрессии с помощью tidymodels и purrr....214
Выполнение логистической регрессии в среде R....216
Выполнение логистической регрессии с помощью базового функционала R....216
Выполнение логистической регрессии с помощью tidymodels....218
Выполнение линейной регрессии в среде Python с использованием данных Excel....222
Выполнение логистической регрессии в среде Python с использованием данных Excel....228
Резюме....232
Глава 10. Анализ временных рядов: статистика, графики и прогнозирование....233
Технические требования....235
Генерация случайных объектов временного ряда в среде R....235
Изменение параметров временного ряда....238
Создание временных рядов с помощью R....239
Создание и анализ графиков АКФ и ЧАКФ в среде R....242
Автоматический подбор параметров модели ARIMA с помощью библиотеки healthyR.ts....243
Моделирование броуновского движения с помощью библиотеки healthyR.ts....249
Анализ временных рядов в Python: статистика, графики и прогнозирование....251
Создание временных рядов: простые диаграммы и графики АКФ/ЧАКФ....252
График автокорреляционной функции (АКФ)....255
График частичной автокорреляционной функции (ЧАКФ)....255
Статистический анализ данных временных рядов....256
Тест ADF....256
Декомпозиция временного ряда....258
Подходы к прогнозному моделированию....260
Прогнозирование с помощью библиотеки statsmodels....260
Прогнозирование временных рядов с помощью библиотеки prophet....263
Прогнозирование временных рядов с помощью модели глубокого обучения LSTM....266
Резюме....269
Часть IV. Вызов кода R и Python из Excel....270
Глава 11. Локальный вызов кода R/Python из Excel напрямую или через API....271
Технические требования....272
Причины для локального вызова кода R/Python из Excel....272
Настройка среды....273
Настройка BERT для R....273
Настройка xlwings для Python....274
Вызов кода R/Python напрямую из Excel....275
Выполнение кода R с помощью макроса VBA и BERT....275
Взаимодействие с Excel через BERT....276
Вызов кода Python из Excel с помощью xlwings....277
Кнопка Выполнить....278
Макросы....279
Функции, определяемые пользователем....280
Знакомство с API....282
Решения с открытым исходным кодом, служащие для предоставления R в качестве конечной точки API....284
Пример open-source-решения, служащего для предоставления Python в качестве конечной точки API....289
Вызов API из редактора VBA приложения Excel....291
Плюсы и минусы решений, основанных на API....293
Коммерческие API-решения для R и Python....294
Azure Functions (и аналогичные решения других крупных облачных провайдеров)....295
Posit Connect....295
Платформа ownR Infinity....296
Резюме....296
Часть V. Анализ и визуализация данных в Excel с помощью R и Python на конкретном примере....298
Глава 12. Анализ и визуализация данных в Excel с помощью R и Python на конкретном примере....299
Технические требования....299
Создание визуализаций с помощью R....300
Получение данных....300
Визуализация данных....301
Создание простой модели машинного обучения с помощью R....308
Предварительная обработка данных....308
Создание визуализаций с помощью Python....311
Получение данных....311
Визуализация данных....312
Создание простой модели машинного обучения с помощью Python....318
Предварительная обработка данных....318
Резюме....322
Анализ и визуализация данных имеют большое значение, именно они позволяют принимать обоснованные решения. Но в Excel достаточно много ограничений, которые превращают вашу жизнь в ад. «Excel с Python и R» меняет правила. Стивен Сандерсон — автор пакетов healthyverse для R, и Дэвид Кун — соучредитель Functional Analytics, компании, создавшей ownR (платформа для разработки решений на R, Python и других языках обработки данных).
Интеграция Python и R с Excel изменит ваш подход к анализу данных с использованием электронных таблиц. Вы сможете автоматизировать задачи статистического анализа и создавать мощные визуализации, научитесь выполнять разведочный анализ данных и анализ временных рядов и даже интегрировать различные API для максимальной эффективности. И новички, и эксперты найдут в этой книге все необходимое, чтобы раскрыть весь потенциал Excel и поднять навыки анализа данных на новый уровень.
К концу книги вы освоите приемы импортирования данных из Excel, манипулирования ими в R или Python, сможете решать задачи анализа данных в выбранном вами фреймворке и возвращать результаты обратно в Excel.