pandas

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Pandas
Pandas logo.svg
Тип библиотека для Питона[d] и программа для численного анализа[d]
Автор
Разработчик Уэс Мак-Кинни[d]
Написана на Python[1]
Последняя версия
Лицензия BSD
Сайт pandas.pydata.org

pandas — программная библиотека на языке Python для обработки и анализа данных. Работа pandas с данными строится поверх библиотеки NumPy, являющейся инструментом более низкого уровня. Предоставляет специальные структуры данных и операции для манипулирования числовыми таблицами и временны́ми рядами. Название библиотеки происходит от эконометрического термина «панельные данные» (англ. panel data), используемого для описания многомерных структурированных наборов информации. pandas распространяется под новой лицензией BSD.

Область применения[править | править код]

Основная область применения — обеспечение работы в рамках среды Python не только для сбора и очистки данных, но для задач анализа и моделирования данных, без переключения на более специфичные для статобработки языки (такие, как R и Octave).

Также активно ведётся работа по реализации «родных» категориальных типов данных.

Пакет прежде всего предназначен для очистки и первичной оценки данных по общим показателям, например среднему значению, квантилям и так далее; статистическим пакетом[en] он в полном смысле не является, однако наборы данных типов DataFrame и Series применяются в качестве входных в большинстве модулей анализа данных и машинного обучения (SciPy, Scikit-Learn[en] и других).

Возможности[править | править код]

Основные возможности библиотеки:

  • Объект DataFrame для манипулирования индексированными массивами двумерных данных
  • Инструменты для обмена данными между структурами в памяти и файлами различных форматов
  • Встроенные средства совмещения данных и способы обработки отсутствующей информации
  • Переформатирование наборов данных, в том числе создание сводных таблиц
  • Срез данных по значениям индекса, расширенные возможности индексирования, выборка из больших наборов данных
  • Вставка и удаление столбцов данных
  • Возможности группировки позволяют выполнять трёхэтапные операции типа «разделение, изменение, объединение» (англ. split-apply-combine).
  • Слияние и объединение наборов данных
  • Иерархическое индексирование позволяет работать с данными высокой размерности в структурах меньшей размерности
  • Работа с временными рядами: формирование временных периодов и изменение интервалов и так далее

Библиотека оптимизирована для высокой производительности, наиболее важные части кода написаны на Cython и Си.

История[править | править код]

Разработка пакета начата в 2008 году сотрудником AQR Capital Management[en] Уэсом Маккини (англ. Wes McKinney). Перед уходом из AQR ему удалось убедить руководство позволить опубликовать исходный код библиотеки под свободной лицензией.

Другой работник AQR — Чан Шэ — присоединился к проекту в 2012 году, став вторым главным разработчиком библиотеки. Примерно в то же время библиотека набрала популярность в среде Python-разработчиков, и к проекту присоединилось множество новых участников.

Примечания[править | править код]

Литература[править | править код]

  • Маккинни У. Python и анализ данных = Python for Data Analysis. — ДМК Пресс, 2015. — 482 с. — ISBN 978-5-97060-315-4, 978-1-449-31979-3.
  • Бринк Х., Ричардс Д., Феверолф М. Машинное обучение. — Питер, 2018. — 336 с. — ISBN 978-5-496-02989-6.
  • Вандер Плас Дж. Python для сложных задач. Наука о данных и машинное обучение = Python Data Science Handbook: Essential Tools for Working with Data. — Питер, 2017. — 576 с. — ISBN 978-5-496-03068-7.
  • Хейдт М. Изучаем pandas = Learning pandas. — ДМК Пресс, 2018. — 432 с. — ISBN 978-5-97060-625-4.