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/).