Python и анализ данных: Первичная обработка данных с применением pandas, NumPy и Jupiter
Book information
Description
Перед вами авторитетный справочник по переформатированию, очистке и обработке наборов данных на Python. Третье издание, переработанное с учетом версий Python 3.10 и pandas 1.4, содержит практические примеры, демонстрирующие эффективное решение широкого круга задач анализа данных. По ходу дела вы узнаете о последних версиях pandas, NumPy и Jupyter. Книга принадлежит перу Уэса Маккинни, создателя библиотеки pandas, и может служить практическим современным руководством по инструментарию науки о данных на Python. Она идеально подойдет как аналитикам, только начинающим осваивать Python, так и программистам на Python, еще незнакомым с наукой о данных и научными приложениями. Файлы данных и прочие материалы к книге находятся в репозитории на GitHub и на сайте издательства dmkpress.com. Об авторе Об иллюстрации на обложке Предисловие от издательства Предисловие Графические выделения О примерах кода Как с нами связаться Благодарности Глава 1 Предварительные сведения 1.1. О чем эта книга? Какого рода данные? 1.2. Почему именно Python? Python как клей Решение проблемы «двух языков» Недостатки Python 1.3. Необходимые библиотеки для Python NumPy pandas matplotlib IPython и Jupyter SciPy scikit-learn statsmodels 1.4. Установка и настройка Miniconda в Windows GNU/Linux Miniconda в macOS Установка необходимых пакетов Интегрированные среды разработки (IDE) 1.5. Сообщество и конференции 1.6. Структура книги Примеры кода Данные для примеров Соглашения об импорте Глава 2 Основы языка Python, IPython и Jupyter-блокноты 2.1. Интерпретатор Python 2.2. Основы IPython Запуск оболочки IPython Запуск Jupyter-блокнота Завершение по нажатии клавиши Tab Интроспекция 2.3. Основы языка Python Семантика языка Скалярные типы Поток управления 2.4. Заключение Глава 3 Встроенные структуры данных, функции и файлы 3.1. Структуры данных и последовательности Кортеж Список Словарь Множество Встроенные функции последовательностей Списковое, словарное и множественное включения 3.2. Функции Пространства имен, области видимости и локальные функции Возврат нескольких значений Функции являются объектами Анонимные (лямбда) функции Генераторы Обработка исключений 3.3. Файлы и операционная система Байты и Unicode в применении к файлам 3.4. Заключение Глава 4 Основы NumPy: массивы и векторные вычисления 4.1. NumPy ndarray: объект многомерного массива Создание ndarray Тип данных для ndarray Арифметические операции с массивами NumPy Индексирование и вырезание Булево индексирование Прихотливое индексирование Транспонирование массивов и перестановка осей 4.2. Генерирование псевдослучайных чисел 4.3. Универсальные функции: быстрые поэлементные операции над массивами 4.4. Программирование на основе массивов Запись логических условий в виде операций с массивами Математические и статистические операции Методы булевых массивов Сортировка Устранение дубликатов и другие теоретико-множественные операции 4.5. Файловый ввод-вывод массивов 4.6. Линейная алгебра 4.7. Пример: случайное блуждание Моделирование сразу нескольких случайных блужданий 4.8. Заключение Глава 5 Первое знакомство с pandas 5.1. Введение в структуры данных pandas Объект Series Объект DataFrame Индексные объекты 5.2. Базовая функциональность Переиндексация Удаление элементов из оси Доступ по индексу, выборка и фильтрация Арифметические операции и выравнивание данных Применение функций и отображение Сортировка и ранжирование Индексы по осям с повторяющимися значениями 5.3. Редукция и вычисление описательных статистик Корреляция и ковариация Уникальные значения, счетчики значений и членство 5.4. Заключение Глава 6 Чтение и запись данных, форматы файлов 6.1. Чтение и запись данных в текстовом формате Чтение текстовых файлов порциями Вывод данных в текстовом формате Обработка данных в других форматах с разделителями Данные в формате JSON XML и HTML: разбор веб-страниц 6.2. Двоичные форматы данных Формат HDF5 6.3. Взаимодействие с HTML и Web API 6.4. Взаимодействие с базами данных 6.5. Заключение Глава 7 Очистка и подготовка данных 7.1. Обработка отсутствующих данных Фильтрация отсутствующих данных Восполнение отсутствующих данных 7.2. Преобразование данных Устранение дубликатов Преобразование данных с помощью функции или отображения Замена значений Переименование индексов осей Дискретизация и группировка по интервалам Обнаружение и фильтрация выбросов Перестановки и случайная выборка Вычисление индикаторных переменных 7.3. Расширение типов данных 7.4. Манипуляции со строками Встроенные методы строковых объектов Регулярные выражения Строковые функции в pandas 7.5. Категориальные данные Для чего это нужно Расширенный тип Categorical в pandas Вычисления с объектами Categorical Категориальные методы 7.6. Заключение Глава 8 Переформатирование данных: соединение, комбинирование и изменение формы 8.1. Иерархическое индексирование Переупорядочение и уровни сортировки Сводная статистика по уровню Индексирование столбцами DataFrame 8.2. Комбинирование и слияние наборов данных Слияние объектов DataFrame как в базах данных Соединение по индексу Конкатенация вдоль оси Комбинирование перекрывающихся данных 8.3. Изменение формы и поворот Изменение формы с помощью иерархического индексирования Поворот из «длинного» в «широкий» формат Поворот из «широкого» в «длинный» формат 8.4. Заключение Глава 9 Построение графиков и визуализация 9.1. Краткое введение в API библиотеки matplotlib Рисунки и подграфики Цвета, маркеры и стили линий Риски, метки и надписи Аннотации и рисование в подграфике Сохранение графиков в файле Конфигурирование matplotlib 9.2. Построение графиков с помощью pandas и seaborn Линейные графики Столбчатые диаграммы Гистограммы и графики плотности Диаграммы рассеяния Фасетные сетки и категориальные данные 9.3. Другие средства визуализации для Python 9.4. Заключение Глава 10 Агрегирование данных и групповые операции 10.1. Как представлять себе групповые операции Обход групп Выборка столбца или подмножества столбцов Группировка с помощью словарей и объектов Series Группировка с помощью функций Группировка по уровням индекса 10.2. Агрегирование данных Применение функций, зависящих от столбца, и нескольких функций Возврат агрегированных данных без индексов строк 10.3. Метод apply: общий принцип разделения–применения–объединения Подавление групповых ключей Квантильный и интервальный анализы Пример: подстановка зависящих от группы значений вместо отсутствующих Пример: случайная выборка и перестановка Пример: групповое взвешенное среднее и корреляция Пример: групповая линейная регрессия 10.4. Групповые преобразования и «развернутая» группировка 10.5. Сводные таблицы и перекрестная табуляция Перекрестная табуляция: crosstab 10.5. Заключение Глава 11 Временные ряды 11.1. Типы данных и инструменты, относящиеся к дате и времени Преобразование между строкой и datetime 11.2. Основы работы с временными рядами Индексирование, выборка, подмножества Временные ряды с неуникальными индексами 11.3. Диапазоны дат, частоты и сдвиг Генерирование диапазонов дат Частоты и смещения дат Сдвиг данных (с опережением и с запаздыванием) 11.4. Часовые пояса Локализация и преобразование Операции над объектами Timestamp с учетом часового пояса Операции над датами из разных часовых поясов 11.5. Периоды и арифметика периодов Преобразование частоты периода Квартальная частота периода Преобразование временных меток в периоды и обратно Создание PeriodIndex из массивов 11.6. Передискретизация и преобразование частоты Понижающая передискретизация Повышающая передискретизация и интерполяция Передискретизация периодов Групповая передискретизация по времени 11.7. Скользящие оконные функции Экспоненциально взвешенные функции Бинарные скользящие оконные функции Скользящие оконные функции, определенные пользователем 11.8. Заключение Глава 12 Введение в библиотеки моделирования на Python 12.1. Интерфейс между pandas и кодом модели 12.2. Описание моделей с помощью Patsy Преобразование данных в формулах Patsy Категориальные данные и Patsy 12.3. Введение в statsmodels Оценивание линейных моделей Оценивание процессов с временными рядами 12.4. Введение в scikit-learn 12.5. Заключение Глава 13 Примеры анализа данных 13.1. Набор данных Bitly с сайта 1.usa.gov Подсчет часовых поясов на чистом Python Подсчет часовых поясов с помощью pandas 13.2. Набор данных MovieLens 1M Измерение несогласия в оценках 13.3. Имена, которые давали детям в США за период с 1880 по 2010 год Анализ тенденций в выборе имен 13.4. База данных о продуктах питания министерства сельского хозяйства США 13.5. База данных Федеральной избирательной комиссии Статистика пожертвований по роду занятий и месту работы Распределение суммы пожертвований по интервалам Статистика пожертвований по штатам 13.6. Заключение Приложение A Дополнительные сведения о библиотеке NumPy A.1. Внутреннее устройство объекта ndarray Иерархия типов данных в NumPy A.2. Дополнительные манипуляции с массивами Изменение формы массива Упорядочение элементов массива в C и в Fortran Конкатенация и разбиение массива Эквиваленты прихотливого индексирования: функции take и put A.3. Укладывание Укладывание по другим осям Установка элементов массива с помощью укладывания A.4. Дополнительные способы использования универсальных функций Методы экземпляра u-функций Написание новых u-функций на Python A.5. Структурные массивы и массивы записей Вложенные типы данных и многомерные поля Зачем нужны структурные массивы? A.6. Еще о сортировке Косвенная сортировка: методы argsort и lexsort Альтернативные алгоритмы сортировки Частичная сортировка массивов Метод numpy.searchsorted: поиск элементов в отсортированном массиве A.7. Написание быстрых функций для NumPy с помощью Numba Создание пользовательских объектов numpy.ufunc с помощью Numba A.8. Дополнительные сведения о вводе-выводе массивов Файлы, отображенные на память HDF5 и другие варианты хранения массива A.9. Замечания о производительности Важность непрерывной памяти Приложение B Еще о системе IPython B.1. Комбинации клавиш B.2. О магических командах Команда %run Исполнение кода из буфера обмена B.3. История команд Поиск в истории команд и повторное выполнение Входные и выходные переменные B.4. Взаимодействие с операционной системой Команды оболочки и псевдонимы Система закладок на каталоги B.5. Средства разработки программ Интерактивный отладчик Хронометраж программы: %time и %timeit Простейшее профилирование: %prun и %run -p Построчное профилирование функции B.6. Советы по продуктивной разработке кода с использованием IPython Перезагрузка зависимостей модуля Советы по проектированию программ B.7. Дополнительные возможности IPython Профили и конфигурирование B.8. Заключение Предметный указатель
Similar books
Python for Data Analysis: Data Wrangling with pandas, NumPy, and Jupyter
2022 · PDF
Python и анализ данных. Первичная обработка данных с применением pandas, NumPy и Jupiter. Program disk
2023 · 7Z
Python и анализ данных. Первичная обработка данных с применением pandas, NumPy и Jupiter
2023 · PDF
Python и анализ данных: Первичная обработка данных с применением pandas, NumPy и Jupiter
2023 · PDF
Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique
2025 · PDF
Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная
2022 · PDF
Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание
2021 · PDF
Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)
2022 · PDF