Уэс Маккинни "Python и анализ данных" ДМК Пресс, 2015 год, 482 стр.

Python для обработки данных. Примеры.

Уэс Маккинни «Python и анализ данных» ДМК Пресс, 2015 год, 482 стр. (17,9 мб.djvu)

В книге собрана информация относящаяся к области Python программирования связанной с производством вычислений по преобразованию и обработке данных. Автор представляет книгу практическим руководством на Python по основам ведения инженерных и научных расчетов, направленное на программы оперирующие большими объемами данных. Книга описывает  Python программирование с использованием библиотек NumPy и pandas, matplotlib и других, часто используемых для результативного ведения анализа структурированных данных (матрицы, табличные, разных типов в столбцах, данные реляционных баз, SQL-данные, временные ряды и др.)

Этот список можно расширить типами данных которые приводятся к структурированному виду, пригодному для анализа и моделирования. В случаях невозможности преобразования набора данных, проводится анализ для извлечения признаков поддающихся обработке. Например: проанализировать новостные статьи и преобразовать в таблицу частотности слов, к которой затем применить анализ эмоциональной окраски. Если вы работали с электронными таблицами Excel, то вам знакомы такие виды данных. Python программирование для анализа и обработки данных интересно разработчикам работающим в области научной аналитики и статистики.ISBN 978-1-449-31979-3 (англ.) ISBN 978-5-97060-315-4 (рус.)

Оглавление книги
Предисловие 12
Графические выделения 12

Глава 1. Предварительные сведения 13
О чем эта книга 13
Почему именно Python 14
Python как клей 14
Решение проблемы «двух языков» 15
Недостатки Python 15
Необходимые библиотеки для Python 16
NumPy 16
pandas 16
matplotlib 17
IPython 17
SciPy 18
Установка и настройка 18
Windows 19
Apple OSX 21
GNU/Linux 22
Python 2 и Python 3 23
Интегрированные среды разработки (IDE 24
Сообщество и конференции 24
Структура книги 25
Примеры кода 25
Данные для примеров 25
Соглашения об импорте 25
Жаргон 26
Благодарности 26

Глава 2. Первые примеры 28
Набор данных 1 .usa.gov с сайта bit.ly 28
Подсчет часовых поясов на чистом Python 30
Подсчет часовых поясов с помощью pandas 32
Набор данных MovieLens 1М 38
Измерение несогласия в оценках 42
Имена, которые давали детям в США за периоде 1880 по 2010 год 43
Анализ тенденций в выборе имен 48
Выводы и перспективы 56

Глава 3.  Python: интерактивные вычисления и среда разработки 57
Основы IPython 58
Завершение по нажатию клавиши Tab 59
Интроспекция 60
Команда %run 61
Исполнение кода из буфера обмена 63
Комбинации клавиш 64
Исключения и обратная трассировка 65
Магические команды 66
Графическая консоль на базе Qt 68
Интеграция с matplotlib и режим pylab 68
История команд 70
Поиск в истории команд и повторное выполнение 70
Входные и выходные переменные 71
Протоколирование ввода-вывода 72
Взаимодействие с операционной системой 73
Команды оболочки и псевдонимы 73
Система закладок на каталоги 75
Средства разработки программ 75
Интерактивный отладчик 75
Хронометраж программы: %time и %timeit 80
Простейшее профилирование: %prun и %run -р 82
Построчное профилирование функции 83
HTML-блокнот в IPython 86
Советы по продуктивной разработке кода с использованием IPython 86
Перезагрузка зависимостей модуля 87
Советы по проектированию программ 88
Дополнительные возможности IPython 90
Делайте классы дружественными к IPython 90
Профили и конфигурирование 90
Благодарности 92

Глава 4. Основы NumPy: массивы и векторные вычисления 93
NumPy ndarray: объект многомерного массива 94
Создание ndarray 95
Тип данных для ndarray 97
Операции между массивами и скалярами 100
Индексирование и вырезание 100
Булево индексирование 104
Прихотливое индексирование 107
Транспонирование массивов и перестановка осей 108
Универсальные функции: быстрые поэлементные операции над массивами 109
Обработка данных с применением массивов 112
Запись логических условий в виде операций с массивами 113
Математические и статистические операции 115
Методы булевых массивов 116
Сортировка 117
Устранение дубликатов и другие теоретико-множественные операции 118
Файловый ввод-вывод массивов 119
Хранение массивов на диске в двоичном формате 119
Сохранение и загрузка текстовых файлов 120
Линейная алгебра 121
Генерация случайных чисел 122
Пример: случайное блуждание 123
Моделирование сразу нескольких случайных блужданий 125

Глава 5. Первое знакомство с pandas 127
Введение в структуры данных pandas 128
Объект Series 128
Объект DataFrame 131
Индексные объекты 137
Базовая функциональность 139
Переиндексация 139
Удаление элементов из оси 142
Доступ по индексу, выборка и фильтрация 143
Арифметические операции и выравнивание данных 146
Применение функций и отображение 150
Сортировка и ранжирование 151
Индексы по осям с повторяющимися значениями 154
Редукция и вычисление описательных статистик 155
Корреляция и ковариация 158
Уникальные значения, счетчики значений и членство 160
Обработка отсутствующих данных 162
Фильтрация отсутствующих данных 163
Иерархическое индексирование 166
Уровни переупорядочения и сортировки 169
Сводная статистика по уровню 170
Работа со столбцами DataFrame 170
Другие возможности pandas 172
Доступ по целочисленному индексу 172
Структура данных Panel 173

Глава 6. Чтение и запись данных, форматы файлов 175
Чтение и запись данных в текстовом формате 175
Чтение текстовых файлов порциями 181
Вывод данных в текстовом формате 182
Ручная обработка данных в формате с разделителями 184
Данные в формате JSON 186
ХМ1_и HTML: разбор веб-страниц 188
Разбор ХМL с помощью Ixml.objectify 190
Двоичные форматы данных 192
Взаимодействие с HTML и Web API 194
Взаимодействие с базами данных 196
Чтение и сохранение данных в MongoDB 198

Глава 7. Переформатирование данных: очистка, преобразование, слияние, изменение формы 199
Комбинирование и слияние наборов данных 199
Слияние объектов DataFrame как в базах данных 200
Слияние по индексу 204
Конкатенация вдоль оси 207
Комбинирование перекрывающихся данных 211
Изменение формы и поворот 212
Изменение формы с помощью иерархического индексирования 213
Поворот из «длинного» в «широкий» формат 215
Преобразование данных 217
Устранение дубликатов 217
Преобразование данных с помощью функции или отображения 218
Замена значений 220
Переименование индексов осей 221
Дискретизация и раскладывание 222
Обнаружение и фильтрация выбросов 224
Перестановки и случайная выборка 226
Вычисление индикаторных переменных 227
Манипуляции со строками 229
Методы строковых объектов 230
Регулярные выражения 232
Векторные строковые функции в pandas 235
Пример: база данных о продуктах питания министерства сельского хозяйства США 237

Глава 8. Построение графиков и визуализация 244
Краткое введение в API библиотеки matplotlib 245
Рисунки и подграфики 246
Цвета, маркеры и стили линий 249
Риски, метки и надписи 251
Аннотации и рисование в подграфике 254
Сохранение графиков в файле 256
Конфигурирование matplotlib 257
Функции построения графиков в pandas 258
Линейные графики 258
Столбчатые диаграммы 260
Гистограммы и графики плотности 264
Диаграммы рассеяния 266
Нанесение данных на карту: визуализация данных о землетрясении на Гаити 267
Инструментальная экосистема визуализации для Python 273
Chaco 274
mayavi 274
Прочие пакеты 275
Будущее средств визуализации 275

Глава 9. Агрегирование данных и групповые операции 276
Механизм GroupBy 277
Обход групп 280
Выборка столбца или подмножества столбцов 281
Группировка с помощью словарей и объектов Series 282
Группировка с помощью функций 284
Группировка по уровням индекса 284
Агрегирование данных 285
Применение функций, зависящих от столбца, и нескольких функций 287
Возврат агрегированных данных в «неиндексированном» виде 289
Групповые операции и преобразования 290
Метод apply: часть общего принципа разделения-применения-объединения 292
Квантильный и интервальный анализ 294
Пример: подстановка зависящих от группы значений вместо отсутствующих 296
Пример: случайная выборка и перестановка 297
Пример: групповое взвешенное среднее и корреляция 299
Пример: групповая линейная регрессия 301
Сводные таблицы и кросс-табуляция 302
Таблицы сопряженности 304
Пример: база данных федеральной избирательной комиссии за 2012 год 305
Статистика пожертвований по роду занятий и месту работы 308
Распределение суммы пожертвований по интервалам 311
Статистика пожертвований по штатам 313

Глава 10. Временные ряды 316
Типы данных и инструменты, относящиеся к дате и времени 317
Преобразование между строкой и datetime 318
Основы работы с временными рядами 321
Индексирование, выборка, подмножества 322
Временные ряды с неуникальными индексами 324
Диапазоны дат, частоты и сдвиг 325
Генерация диапазонов дат 325
Частоты и смещения дат 326
Сдвиг данных (с опережением и с запаздыванием) 329
Часовые пояса 331
Локализация и преобразование 332
Операции над объектами Timestamp с учетом часового пояса 333
Операции между датами из разных часовых поясов 334
Периоды и арифметика периодов 335
Преобразование частоты периода 336
Квартальная частота периода 337
Преобразование временных меток в периоды и обратно 339
Создание Periodlndex из массивов 340
Передискретизация и преобразование частоты 341
Понижающая передискретизация 342
Повышающая передискретизация и интерполяция 345
Передискретизация периодов 346
Графики временных рядов 348
Скользящие оконные функции 350
Экспоненциально взвешенные функции 353
Бинарные скользящие оконные функции 353
Скользящие оконные функции, определенные пользователем 355
Замечания о быстродействии и потреблении памяти 356

Глава 11. Финансовые и экономические приложения 358
О переформатировании данных 358
Временные ряды и выравнивание срезов 358
Операции над временными рядами с различной частотой 361
Время суток и выборка данных «по состоянию на» 364
Сращивание источников данных 366
Индексы доходности и кумулятивная доходность 368
Групповые преобразования и анализ 370
Оценка воздействия групповых факторов 372
Децильный и квартильный анализ 373
Другие примеры приложений 375
Стохастический граничный анализ 375
Роллинг фьючерсных контрактов 377
Скользящая корреляция и линейная регрессия 380

Глава 12. Дополнительные сведения о библиотеке NumPy 383
Иерархия типов данных в NumPy 384
Дополнительные манипуляции с массивами 385
Изменение формы массива 385
Упорядочение элементов массива в С и в Fortran 387
Конкатенация и разбиение массива 388
Повторение элементов: функции tile и repeat 390
Эквиваленты прихотливого индексирования: функции take и put 391
Укладывание 393
Укладывание по другим осям 394
Установка элементов массива с помощью укладывания 397
Дополнительные способы использования универсальных функций 398
Методы экземпляра u-функций 398
Пользовательские u-функции 400
Структурные массивы 401
Вложенные типы данных и многомерные поля 402
Зачем нужны структурные массивы 403
Манипуляции со структурными массивами: numpy.lib.recfunctions 403
Еще о сортировке 403
Косвенная сортировка: методы argsort и lexsort 405
Альтернативные алгоритмы сортировки 406
Метод numpy.searchsorted: поиск элементов в отсортированном массиве 407
Класс matrix в NumPy 408
Дополнительные сведения о вводе-выводе массивов 410
Файлы, спроецированные на память 410
HDF5 и другие варианты хранения массива 412
Замечание о производительности 412
Важность непрерывной памяти 412
Другие возможности ускорения: Cython, f2py, С 414
Приложение. Основы языка Python 415
Интерпретатор Python 416
Основы 417
Семантика языка 417
Скалярные типы 425
Поток управления 431
Структуры данных и последовательности 437
Список 439
Встроенные функции последовательностей 443
Словарь 445
Множество 448
Списковое, словарное и множественное включение 450
Функции 452
Пространства имен, области видимости и локальные функции 453
Возврат нескольких значений 454
Функции являются объектами 455
Анонимные (лямбда) функции 456
Замыкания: функции, возвращающие функции 457
Расширенный синтаксис вызова с помощью *args и **kwargs 459
Каррирование: частичное фиксирование аргументов 459
Генераторы 460
Генераторные выражения 462
Модуль itertools 462
Файлы и операционная система 463
Предметный указатель 466

СкачатьDJVU

 

Python программирование. Видео

Похожая литература