Python — идеальный выбор для манипулирования и извлечения информации из данных всех видов. «Python для data science» познакомит программистов с питоническим миром анализа данных. Вы научитесь писать код на Python, применяя самые современные методы, для получения, преобразования и анализа данных в управлении бизнесом, маркетинге и поддержке принятия решений. Познакомьтесь с богатым набором встроенных структур данных Python для выполнения основных операций, а также о надежной экосистемы библиотек с открытым исходным кодом для data science, включая NumPy, pandas, scikit-learn, matplotlib и другие. Научитесь загружать данные в различных форматах, упорядочивать, группировать и агрегировать датасеты, а также создавать графики, карты и другие визуализации. На подробных примерах стройте реальные приложения, в том числе: службу такси, использующую геолокацию, анализ корзины для определения товаров, которые обычно покупаются вместе, а также модель машинного обучения для прогнозирования цен на акции.
https://github.com/pythondatabook/sources
https://nostarch.com/python-data-science
Author(s): Юлий Васильев
Series: Библиотека программиста
Publisher: Питер
Year: 2023
Language: Russian
Pages: 272
City: СПб.
Tags: data
Краткое содержание
Оглавление
Об авторе
О научном редакторе
От издательства
Введение
Использование Python для data science
Для кого эта книга?
О чем эта книга?
Глава 1. Базовые знания о данных
Категории данных
Неструктурированные данные
Структурированные данные
Слабоструктурированные данные
Данные временных рядов
Источники данных
API
Веб-страницы
Базы данных
Файлы
Пайплайн обработки данных
Получение
Очистка
Преобразование
Анализ
Хранение
Питонический стиль
Выводы
Глава 2. Структуры данных Python
Списки
Создание списка
Использование общих методов списков
Использование срезов
Использование списка в качестве очереди
Использование списка в качестве стека
Использование списков и стеков для обработки естественного языка
Расширение функциональности с помощью списковых включений
Кортежи
Список кортежей
Неизменяемость
Словари
Список словарей
Добавление элементов в словарь с помощью setdefault()
Преобразование JSON в словарь
Множества
Удаление дубликатов из последовательности
Общие операции с множеством
Упражнение № 1: продвинутый анализ тегов фотографий
Выводы
Глава 3. Библиотеки Python для data science
NumPy
Установка NumPy
Создание массива NumPy
Выполнение поэлементных операций
Использование статистических функций NumPy
Упражнение № 2: использование статистических функций numpy
pandas
Установка pandas
pandas Series
Создание Series
Доступ к данным в Series
Объединение Series в DataFrame
Упражнение № 3: объединение трех серий
pandas DataFrame
Создание pandas DataFrame
Объединение датафреймов
Упражнение № 4: использование разных типов join
Объединение «один-ко-многим»
Агрегирование данных методом groupby()
scikit-learn
Установка scikit-learn
Получение набора образцов
Преобразование загруженного датасета в pandas DataFrame
Разделение набора данных на обучающий и тестовый
Преобразование текста в числовые векторы признаков
Обучение и оценка модели
Создание прогнозов на новых данных
Выводы
Глава 4. Доступ к данным из файлов и API
Импортирование данных с помощью функции open()
Текстовые файлы
Файлы с табличными данными
Упражнение № 5: открытие json-файлов
Двоичные файлы
Экспортирование данных в файл
Доступ к удаленным файлам и API
Как работают HTTP-запросы
Библиотека urllib3
Установка urllib3
Доступ к файлам через urllib3
Запросы API через urllib3
Библиотека Requests
Упражнение № 6: доступ к api с помощью requests
Перемещение данных в DataFrame и из него
Импортирование вложенных структур JSON
Конвертирование DataFrame в JSON
Упражнение № 7: обработка сложных структур json
Преобразование онлайн-данных в DataFrame с помощью pandas-datareader
Установка pandas-datareader
Получение данных из Stooq
Выводы
Глава 5. Работа с базами данных
Реляционные базы данных
Понимание инструкций SQL
Начало работы с MySQL
Определение структуры базы данных
Вставка данных в БД
Запрос к базе данных
Упражнение № 8: объединение «один-ко-многим»
Использование инструментов аналитики баз данных
Базы данных NoSQL
Хранилища ключ — значение
Установка Redis
Доступ к Redis с помощью Python
Документоориентированные базы данных
Установка MongoDB
Доступ к MongoDB с помощью Python
Упражнение № 9: вставка и запрос нескольких документов
Выводы
Глава 6. Агрегирование данных
Данные для агрегирования
Объединение датафреймов
Группировка и агрегирование данных
Просмотр конкретных агрегированных показателей по MultiIndex
Срез диапазона агрегированных значений
Срезы на разных уровнях агрегирования
Добавление общего итога
Добавление промежуточных итогов
Упражнение № 10: исключение из датафрейма строк с итоговой суммой
Выбор всех строк в группе
Выводы
Глава 7. Объединение датасетов
Объединение встроенных структур данных
Объединение списков и кортежей с помощью оператора +
Объединение словарей с помощью оператора **
Объединение строк из двух структур
Реализация join-объединений списков
Конкатенация массивов NumPy
Упражнение № 11: добавление новых строк/столбцов в массив numpy
Объединение структур данных pandas
Конкатенация датафреймов
Конкатенация по оси 0
Конкатенация по оси 1
Удаление столбцов/строк из датафрейма
Конкатенация датафреймов с иерархическим индексом
Join-объединение двух датафреймов
Реализация Right Join
Реализация объединения типа «многие-ко-многим»
Выводы
Глава 8. Визуализация
Распространенные способы визуализации
Линейные диаграммы
Столбчатые диаграммы
Круговые диаграммы
Гистограммы
Построение графиков с помощью Matplotlib
Установка Matplotlib
Использование matplotlib.pyplot
Работа с объектами Figure и Axes
Создание гистограммы с помощью subplots()
Частотное распределение на круговой диаграмме
Упражнение № 12: объединение интервалов в сегмент other (другое)
Совместимость Matplotlib с другими библиотеками
Построение графиков для данных pandas
Отображение данных геолокации с помощью Cartopy
Использование Cartopy в Google Colab
Создание карт
Упражнение № 13: составление карты с помощью cartopy и matplotlib
Выводы
Глава 9. Анализ данных о местоположении
Получение данных о местоположении
Преобразование стандартного вида адреса в геокоординаты
Получение геокоординат движущегося объекта
Установка telegram-бота
Программирование бота
Получение данных от бота
Анализ пространственных данных с помощью geopy и Shapely
Поиск ближайшего объекта
Поиск объектов в определенной области
Упражнение № 14: определение двух и более многоугольников
Объединение двух подходов
Упражнение № 15: совершенствование алгоритма подбора машины
Объединение пространственных и непространственных данных
Получение непространственных характеристик
Упражнение № 16: фильтрация данных с помощью спискового включения
Объединение датасетов с пространственными и непространственными данными
Выводы
Глава 10. Анализ данных временных рядов
Регулярные и нерегулярные временные ряды
Общие методы анализа временных рядов
Вычисление процентных изменений
Вычисление скользящего окна
Вычисление процентного изменения скользящего среднего
Многомерные временные ряды
Обработка многомерных временных рядов
Анализ зависимости между переменными
Упражнение № 17: введение дополнительных метрик для анализа зависимостей
Выводы
Глава 11. Получение инсайтов из данных
Ассоциативные правила
Поддержка
Доверие
Лифт
Алгоритм Apriori
Создание датасета с транзакциями
Определение часто встречающихся наборов
Генерирование ассоциативных правил
Визуализация ассоциативных правил
Получение полезных инсайтов из ассоциативных правил
Генерирование рекомендаций
Планирование скидок на основе ассоциативных правил
Упражнение № 18: извлечение данных о реальных транзакциях
Выводы
Глава 12. Машинное обучение для анализа данных
Почему машинное обучение?
Типы машинного обучения
Обучение с учителем
Обучение без учителя
Как работает машинное обучение
Данные для обучения
Статистическая модель
Неизвестные данные
Пример анализа тональности: классификация отзывов о товарах
Получение отзывов о товарах
Очистка данных
Установка google_trans_new
Удаление неанглоязычных отзывов
Разделение и преобразование данных
Обучение модели
Оценка модели
Упражнение № 19: расширение набора примеров
Прогнозирование тенденций фондового рынка
Получение данных
Извлечение признаков из непрерывных данных
Генерирование выходной переменной
Обучение и оценка модели
Упражнение № 20: экспериментируем с различными акциями и новыми метриками
Выводы