Русская Википедия:Pandas

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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

Область применения

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

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

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

Возможности

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

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

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

История

Разработка пакета начата в 2008 году сотрудником Шаблон:Iw Шаблон:Нп2. Перед уходом из AQR ему удалось убедить руководство позволить опубликовать исходный код библиотеки под свободной лицензией.

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

Примеры использования

Кривые

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

df = pd.DataFrame(np.random.randn(100, 5), columns=list('ABCDE'))
df=df.cumsum() # Return cumulative sum over a DataFrame or Series axis
df.plot()
plt.show()

Диаграмма

df = pd.DataFrame(np.random.rand(10, 5), columns=list('ABCDE'))
df.plot.bar(stacked=True)
plt.show()

График

df = pd.DataFrame(np.random.rand(7, 5), columns=list('ABCDE'))
df.plot.box()
plt.show()

Гистограмма

data = pd.Series(np.random.normal(size=100))
data.hist(grid=False)
plt.show()

Примечания

Шаблон:Примечания

Литература

Шаблон:Python Шаблон:Научное программное обеспечение на Python