Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 329

свои исследования, включая весь код и данные, использованные в них.

Pandas

С недавнего времени распространено употребление словосочетания «наука о дан-

ных». Я слышал определения «статистика, собираемая на Mac» или «статистика,

собираемая в Сан-Франциско». Как бы вы ни определили ее, инструменты, о ко-

торых я говорил ранее, — NumPy, SciPy и инструменты Pandas, вынесенные в тему

этого раздела, — это компоненты растущего популярного инструментального сред-

ства, работающего с данными. (Mac и Сан-Франциско опциональны.)

Pandas — это новый пакет для интерактивного анализа данных (http://pandas.py-

data.org/). Он особенно полезен для манипулирования данными реального мира

с помощью комбинирования матричной математики NumPy и возможности обра-

ботки таблиц и реляционных баз данных. В книге Веса Маккинни (Wes McKinney)

Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython (издательство

O’Reilly) рассматриваются выпас данных с помощью NumPy, Python и Pandas.

NumPy ориентирован на традиционные научные вычисления, которые, как

правило, манипулируют многомерными множествами данных одного типа, обычно

числами с плавающей точкой. Pandas больше похож на редактор базы данных, об-

рабатывающий несколько типов данных в группе. В некоторых языках такие груп-

пы называются записями или структурами. Pandas определяет базовую структуру

данных, которая называется DataFrame. Она представляет собой упорядоченную

коллекцию граф с именами и типами и напоминает таблицу, именованный кортеж

или вложенный словарь в Python. Ее предназначение заключается в упрощении

Python и научные области

427

работы с любыми данными, которые вы можете встретить не только в науке, но

и в бизнесе. Фактически Pandas разрабатывался для работы с финансовыми дан-

ными, наиболее распространенной альтернативой для которых является электрон-

ная таблица.

Pandas — это ETL-инструмент для реальных данных — с отсутствующими значе-

ниями, странными форматами, странными измерениями — всех типов. Вы можете

разделить, объединить, заполнить, сконвертировать, изменить форму, разбить

данные, а также загрузить и сохранить файлы. Он интегрируется с инструментами,

которые мы только что обсудили, — NumPy, SciPy, iPython — для подсчета статисти-

ки, подгонки данных под модель, рисования диаграмм, публикации и т. д.

Большинство ученых хотят выполнять свою работу, не тратя месяцы на то,

чтобы стать экспертами в эзотерических языках программирования или приложе-

ниях. С помощью Python они быстрее могут стать более продуктивными.

Python и научные области

Мы рассматривали инструменты Python, которые могут быть использованы прак-

тически в любой области науки. Но как насчет программного обеспечения и до-

кументации, нацеленных на конкретные научные области? Рассмотрим примеры

использования Python для решения определенных задач и некоторые узконаправ-

ленные библиотеки.

 Общие:

y вычисления Python в науке и инженерном деле (http://bit.ly/py-comp-sci);

y интенсивный курс Python для ученых (http://bit.ly/pyforsci).

 Физика — физические вычисления (http://bit.ly/pyforsci).

 Биология и медицина:

y Python для биологов (http://pythonforbiologists.com/);

y Neuroimaging с помощью Python (http://nipy.org/).