С недавнего времени распространено употребление словосочетания «наука о данных». Я слышал определения «статистика, собираемая на Mac» или «статистика, собираемая в Сан-Франциско». Как бы вы ни определили ее, инструменты, о которых я говорил ранее, — NumPy, SciPy и инструменты Pandas, вынесенные в тему этого раздела, — это компоненты растущего популярного инструментального средства, работающего с данными. (Mac и Сан-Франциско опциональны.)
Pandas — это новый пакет для интерактивного анализа данных (http://pandas.pydata.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. Ее предназначение заключается в упрощении работы с любыми данными, которые вы можете встретить не только в науке, но и в бизнесе. Фактически Pandas разрабатывался для работы с финансовыми данными, наиболее распространенной альтернативой для которых является электронная таблица.
Pandas — это ETL-инструмент для реальных данных — с отсутствующими значениями, странными форматами, странными измерениями — всех типов. Вы можете разделить, объединить, заполнить, сконвертировать, изменить форму, разбить данные, а также загрузить и сохранить файлы. Он интегрируется с инструментами, которые мы только что обсудили, — NumPy, SciPy, iPython — для подсчета статистики, подгонки данных под модель, рисования диаграмм, публикации и т. д.
Большинство ученых хотят выполнять свою работу, не тратя месяцы на то, чтобы стать экспертами в эзотерических языках программирования или приложениях. С помощью Python они быстрее могут стать более продуктивными.