Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Python и анализ данных

Покупка
Артикул: 680760.02.99
К покупке доступен более свежий выпуск Перейти
Книгу можно рассматривать как современное практическое введение в разработку научных приложений на Python, ориентированных на обработку данных. Описаны те части языка Python и библиотеки для него, которые необходимы для эффективного решения широкого круга аналитических задач: интерактивная оболочка IPython, библиотеки NumPy и pandas, библиотека для визуализации данных matplotlib и др. Издание идеально подойдет как аналитикам, только начинающим осваивать обработку данных, так и опытным программистам на Python, еще не знакомым с научными приложениями.
Маккинни, У. Маккинли, У. Python и анализ данных / Уэс Маккинли ; пер. с англ. А.А. Слинкина. - Москва : ДМК Пресс, 2015. - 482 с. - ISBN 978-5-97060-315-4. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1027796 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Уэс Маккинни 

Python и анализ данных

Книгу можно рассматривать как современное практическое введение в 
разработку научных приложений на Python, ориентированных на обработку
данных. Описаны те части языка Python и библиотеки для него, которые необходимы для эффективного решения широкого круга аналитических задач:
интерактивная оболочка IPython, библиотеки NumPy и pandas, библиотека
для визуализации данных matplotlib и др.

Издание принадлежит перу Уэса Маккинни, основного автора библиотеки 
pandas, и содержит великое множество практических примеров. Оно идеально подойдет как аналитикам, только начинающим осваивать, так и опытным 
программистам на Python, еще не знакомым с научными приложениями.

Интернет-магазин:  
www.dmkpress.com
Книга – почтой: 
orders@alians-kniga.ru
Оптовая продажа: 
“Альянс-книга”
тел.(499)782-38-89 
books@alians-kniga.ru
www.дмк.рф

В книге рассматриваются следующие темы:

•  работа с IPython — интерактивной оболочкой, которая 
     может использоваться в начале разработки;
•  основы и более сложные средства библиотеки NumPy 
     (Numerical Python);
•  введение в средства анализа данных в библиотеке pandas;
•  использование высокопроизводительных инструментов 
     для загрузки, очистки, преобразования, слияния 
     и изменения формы данных;
•  создание различных графиков и интерактивная 
     визуализация с помощью библиотеки matplotlib;
•  применение встроенного в pandas механизма группировки 
     для формирования продольных и поперечных срезов, 
     а также агрегирования наборов данных;
•  временные ряды с результатами измерений в конкретные 
     моменты времени, за фиксированные периоды или 
     произвольные интервалы;
•  методы решения задач, возникающих в веб-аналитике, 
     социальных науках, финансах и экономике, 
     проиллюстрированные подробными примерами.

9 785970 603154

ISBN 978-5-97060-315-4

Python
и анализ данных

Уэс Маккинли

Python  
и анализ данных

Python for Data Analysis

Wes McKinney

Beijing • Cambridge • Farnham • Köln • Sebastopol • Tokyo

Москва, 2015

Python и анализ данных

Уэс Маккинли

УДК  004.438Python:004.6
ББК   32.973.22

М15

М15   Уэс Маккинли

Python и анализ данных / Пер. с англ. Слинкин А. А. – М.: ДМК Пресс, 
2015. – 482 с.: ил.

ISBN 978-5-97060-315-4

Книгу можно рассматривать как современное практическое введение в 

разработку научных приложений на Python, ориентированных на обработку 
данных. Описаны те части языка Python и библиотеки для него, которые необходимы для эффективного решения широкого круга аналитических задач: 
интерактивная оболочка IPython, библиотеки NumPy и pandas, библиотека 
для визуализации данных matplotlib и др.

Издание идеально подойдет как аналитикам, только начинающим осва
ивать обработку данных, так и опытным программистам на Python, еще не 
знакомым с научными приложениями.

                                                                                      УДК   004.438Python:004.6
                                                                             ББК  32.973.22

Original English language edition published by O’Reilly Media, Inc., 1005 Gravenstein 

Highway North, Sebastopol, CA 95472. Copyright © 2013 O’Reilly Media, Inc. Russianlanguage edition copyright © 2015 by DMK Press. All rights reserved.

Все права защищены. Любая часть этой книги не может быть воспроизведена 

в какой бы то ни было форме и какими бы то ни было средствами без письменного 
разрешения владельцев авторских прав.

Материал, изложенный в данной книге, многократно проверен. Но, поскольку 

вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи 
с этим издательство не несет ответственности за возможные ошибки, связанные с 
использованием книги.

ISBN 978-1-449-31979-3 (англ.)                         Copyright © 2013 Wes McKinney.
ISBN 978-5-97060-315-4 (рус.)                           © Оформление, перевод на русский язык, 

                      издание, ДМК Пресс, 2015

оглавление

Предисловие..................................................................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 OS X .................................................................................................... 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 1M ................................................................. 38
Измерение несогласия в оценках ................................................................. 42
Имена, которые давали детям в США за период с 1880 по 2010 год ...... 43
Анализ тенденций в выборе имен ................................................................. 48
Выводы и перспективы ......................................................................... 56

Оглавление

Глава.3..IPython:.интерактивные.вычисления.и.среда.
разработки.....................................................................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 -p ........................................... 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
XML и HTML: разбор веб-страниц ................................................................188
Разбор XML с помощью lxml.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

К покупке доступен более свежий выпуск Перейти