Python и анализ данных Книгу можно рассматривать как современное практическое введение в разработку научных приложений на Python, ориентированных на обработку данных. Описаны те части языка Python и библиотеки для него, которые необходимы для эффективного решения широкого круга аналитических задач: интерактивная оболочка IPython, библиотеки NumPy и pandas, библиотека для визуализации данных matplotlib и др. Издание идеально подойдет как аналитикам, только начинающим осваивать обработку данных, так и опытным программистам на Python, еще не знакомым с научными приложениями.
Название: Python и анализ данных Автор: Уэс Маккинни Издательство: ДМК Пресс Год: 2015 Страниц: 482 Формат: DJVU Размер: 18 МБ ISBN: 978-5-97060-315-4 Качество: Отличное Язык: Русский
Содержание:
Предисловие Графические выделения Глава 1. Предварительные сведения О чем эта книга? Почему именно Python? Python как клей Решение проблемы «двух языков» Недостатки Python Необходимые библиотеки для Python NumPy pandas matplotlib IPython SciPy Установка и настройка Windows Apple OSX GNU/Linux Python 2 и Python 3 Интегрированные среды разработки (IDE) Сообщество и конференции Структура книги Примеры кода Данные для примеров Соглашения об импорте Жаргон Благодарности Глава 2. Первые примеры Набор данных 1.usa.gov с сайта bit.ly Подсчет часовых поясов на чистом Python Подсчет часовых поясов с помощью pandas Набор данных MovieLens 1М Измерение несогласия в оценках Имена, которые давали детям в США за периоде 1880 по 2010 год Анализ тенденций в выборе имен Выводы и перспективы Глава 3. IPython: интерактивные вычисления и среда разработки Основы IPython Завершение по нажатию клавиши Tab Интроспекция Команда %run Исполнение кода из буфера обмена Комбинации клавиш Исключения и обратная трассировка Магические команды Графическая консоль на базе Qt Интеграция с matplotlib и режим pylab История команд Поиск в истории команд и повторное выполнение Входные и выходные переменные Протоколирование ввода-вывода Взаимодействие с операционной системой Команды оболочки и псевдонимы Система закладок на каталоги Средства разработки программ Интерактивный отладчик Хронометраж программы: %time и %timeit Простейшее профилирование: %prun и %run -р Построчное профилирование функции HTML-блокнот в IPython Советы по продуктивной разработке кода с использованием IPython Перезагрузка зависимостей модуля Советы по проектированию программ Дополнительные возможности IPython Делайте классы дружественными к IPython Профили и конфигурирование Благодарности Глава 4. Основы NumPy: массивы и векторные вычисления NumPy ndarray: объект многомерного массива Создание ndarray Тип данных для ndarray Операции между массивами и скалярами Индексирование и вырезание Булево индексирование Прихотливое индексирование Транспонирование массивов и перестановка осей Универсальные функции: быстрые поэлементные операции над массивами Обработка данных с применением массивов Запись логических условий в виде операций с массивами Математические и статистические операции Методы булевых массивов Сортировка Устранение дубликатов и другие теоретико-множественные операции Файловый ввод-вывод массивов Хранение массивов на диске в двоичном формате Сохранение и загрузка текстовых файлов Линейная алгебра Генерация случайных чисел Пример: случайное блуждание Моделирование сразу нескольких случайных блужданий Глава 5. Первое знакомство с pandas Введение в структуры данных pandas Объект Series Объект DataFrame Индексные объекты Базовая функциональность Переиндексация Удаление элементов из оси Доступ по индексу, выборка и фильтрация Арифметические операции и выравнивание данных Применение функций и отображение Сортировка и ранжирование Индексы по осям с повторяющимися значениями Редукция и вычисление описательных статистик Корреляция и ковариация Уникальные значения, счетчики значений и членство Обработка отсутствующих данных Фильтрация отсутствующих данных Иерархическое индексирование Уровни переупорядочения и сортировки Сводная статистика по уровню Работа со столбцами DataFrame Другие возможности pandas Доступ по целочисленному индексу Структура данных Panel Глава 6. Чтение и запись данных, форматы файлов Чтение и запись данных в текстовом формате Чтение текстовых файлов порциями Вывод данных в текстовом формате Ручная обработка данных в формате с разделителями Данные в формате JSON XML и HTML: разбор веб-страниц Разбор ХМL с помощью Ixml.objectify Двоичные форматы данных Взаимодействие с HTML и Web API Взаимодействие с базами данных Чтение и сохранение данных в MongoDB Глава 7. Переформатирование данных: очистка, преобразование, слияние, изменение формы Комбинирование и слияние наборов данных Слияние объектов DataFrame как в базах данных Слияние по индексу Конкатенация вдоль оси Комбинирование перекрывающихся данных Изменение формы и поворот Изменение формы с помощью иерархического индексирования Поворот из «длинного» в «широкий» формат Преобразование данных Устранение дубликатов Преобразование данных с помощью функции или отображения Замена значений Переименование индексов осей Дискретизация и раскладывание Обнаружение и фильтрация выбросов Перестановки и случайная выборка Вычисление индикаторных переменных Манипуляции со строками Методы строковых объектов Регулярные выражения Векторные строковые функции в pandas Пример: база данных о продуктах питания министерства сельского хозяйства США Глава 8. Построение графиков и визуализация Краткое введение в API библиотеки matplotlib Рисунки и подграфики Цвета, маркеры и стили линий Риски, метки и надписи Аннотации и рисование в подграфике Сохранение графиков в файле Конфигурирование matplotlib Функции построения графиков в pandas Линейные графики Столбчатые диаграммы Гистограммы и графики плотности Диаграммы рассеяния Нанесение данных на карту: визуализация данных о землетрясении на Гаити Инструментальная экосистема визуализации для Python Chaco mayavi Прочие пакеты Будущее средств визуализации Глава 9. Агрегирование данных и групповые операции Механизм GroupBy Обход групп Выборка столбца или подмножества столбцов Группировка с помощью словарей и объектов Series Группировка с помощью функций Группировка по уровням индекса Агрегирование данных Применение функций, зависящих от столбца, и нескольких функций Возврат агрегированных данных в «неиндексированном» виде Групповые операции и преобразования Метод apply: часть общего принципа разделения-применения- объединения Квантильный и интервальный анализ Пример: подстановка зависящих от группы значений вместо отсутствующих Пример: случайная выборка и перестановка Пример: групповое взвешенное среднее и корреляция Пример: групповая линейная регрессия Сводные таблицы и кросс-табуляция Таблицы сопряженности Пример: база данных федеральной избирательной комиссии за 2012 год Статистика пожертвований по роду занятий и месту работы Распределение суммы пожертвований по интервалам Статистика пожертвований по штатам Глава 10. Временные ряды Типы данных и инструменты, относящиеся к дате и времени Преобразование между строкой и datetime Основы работы с временными рядами Индексирование, выборка, подмножества Временные ряды с неуникальными индексами Диапазоны дат, частоты и сдвиг Генерация диапазонов дат Частоты и смещения дат Сдвиг данных (с опережением и с запаздыванием) Часовые пояса Локализация и преобразование Операции над объектами Timestamp с учетом часового пояса Операции между датами из разных часовых поясов Периоды и арифметика периодов Преобразование частоты периода Квартальная частота периода Преобразование временных меток в периоды и обратно Создание Periodlndex из массивов Передискретизация и преобразование частоты Понижающая передискретизация Повышающая передискретизация и интерполяция Передискретизация периодов Графики временных рядов Скользящие оконные функции Экспоненциально взвешенные функции Бинарные скользящие оконные функции Скользящие оконные функции, определенные пользователем Замечания о быстродействии и потреблении памяти Глава 11. Финансовые и экономические приложения О переформатировании данных Временные ряды и выравнивание срезов Операции над временными рядами с различной частотой Время суток и выборка данных «по состоянию на» Сращивание источников данных Индексы доходности и кумулятивная доходность Групповые преобразования и анализ Оценка воздействия групповых факторов Децильный и квартильный анализ Другие примеры приложений Стохастический граничный анализ Роллинг фьючерсных контрактов Скользящая корреляция и линейная регрессия Глава 12. Дополнительные сведения о библиотеке NumPy Иерархия типов данных в NumPy Дополнительные манипуляции с массивами Изменение формы массива Упорядочение элементов массива в С и в Fortran Конкатенация и разбиение массива Повторение элементов: функции tile и repeat Эквиваленты прихотливого индексирования: функции take и put Укладывание Укладывание по другим осям Установка элементов массива с помощью укладывания Дополнительные способы использования универсальных функций Методы экземпляра u-функций Пользовательские u-функции Структурные массивы Вложенные типы данных и многомерные поля Зачем нужны структурные массивы? Манипуляции со структурными массивами: numpy.lib.recfunctions Еще о сортировке Косвенная сортировка: методы argsort и lexsort Альтернативные алгоритмы сортировки Метод numpy. searchsorted: поиск элементов в отсортированном массиве  Класс matrix в NumPy Дополнительные сведения о вводе-выводе массивов Файлы, спроецированные на память HDF5 и другие варианты хранения массива Замечание о производительности Важность непрерывной памяти Другие возможности ускорения: Cython, f2py, С Приложение. Основы языка Python Интерпретатор Python Основы Семантика языка Скалярные типы Поток управления Структуры данных и последовательности Список Встроенные функции последовательностей Словарь Множество Списковое, словарное и множественное включение Функции Пространства имен, области видимости и локальные функции Возврат нескольких значений Функции являются объектами Анонимные (лямбда) функции Замыкания: функции, возвращающие функции Расширенный синтаксис вызова с помощью *args и **kwargs Каррирование: частичное фиксирование аргументов Генераторы Генераторные выражения Модуль itertools Файлы и операционная система Предметный указатель