pandas
pandas — программная библиотека на языке Python для обработки и анализа данных. Работа pandas с данными строится поверх библиотеки NumPy, являющейся инструментом более низкого уровня. Предоставляет специальные структуры данных и операции для манипулирования числовыми таблицами и временны́ми рядами. Название библиотеки происходит от эконометрического термина «панельные данные», используемого для описания многомерных структурированных наборов информации. pandas распространяется под новой лицензией BSD.
Pandas | |||
---|---|---|---|
Тип | Python-библиотека[вд] и программа для численного анализа[вд] | ||
Автор | Уэс Мак-Кинни[вд][2] | ||
Разработчики | Уэс Мак-Кинни[вд], Брок Мендель[вд], Йорис Ван ден Босше[вд] и Джефф Ребек[вд][3] | ||
Написана на | Python | ||
Операционная система | кроссплатформенность | ||
Первый выпуск | 11 января 2008 | ||
Последняя версия |
|
||
Репозиторий | github.com/pandas-dev/pa… | ||
| |||
| |||
Лицензия | BSD | ||
Сайт | pandas.pydata.org (англ.) | ||
Медиафайлы на Викискладе |
Область применения
правитьОсновная область применения — обеспечение работы в рамках среды Python не только для сбора и очистки данных, но для задач анализа и моделирования данных, без переключения на более специфичные для статобработки языки (такие, как R и Octave).
Также активно ведётся работа по реализации «родных» категориальных типов данных.
Пакет прежде всего предназначен для очистки и первичной оценки данных по общим показателям, например среднему значению, квантилям и так далее; статистическим пакетом[англ.] он в полном смысле не является, однако наборы данных типов DataFrame и Series применяются в качестве входных в большинстве модулей анализа данных и машинного обучения (SciPy, Scikit-Learn[англ.] и других).
Возможности
правитьОсновные возможности библиотеки:
- Объект DataFrame для манипулирования индексированными массивами двумерных данных[4]
- Инструменты для обмена данными между структурами в памяти и файлами различных форматов
- Встроенные средства совмещения данных и способы обработки отсутствующей информации
- Переформатирование наборов данных, в том числе создание сводных таблиц
- Срез данных по значениям индекса, расширенные возможности индексирования, выборка из больших наборов данных
- Вставка и удаление столбцов данных
- Возможности группировки позволяют выполнять трёхэтапные операции типа «разделение, изменение, объединение» (англ. split-apply-combine).
- Слияние и объединение наборов данных
- Иерархическое индексирование позволяет работать с данными высокой размерности в структурах меньшей размерности
- Работа с временными рядами: формирование временных периодов и изменение интервалов и так далее
Библиотека оптимизирована для высокой производительности, наиболее важные части кода написаны на Cython и Си.
История
правитьРазработка пакета начата в 2008 году сотрудником AQR Capital Management[англ.] Уэсом Маккини (англ. Wes McKinney). Перед уходом из AQR ему удалось убедить руководство позволить опубликовать исходный код библиотеки под свободной лицензией.
Другой работник AQR — Чан Шэ — присоединился к проекту в 2012 году, став вторым главным разработчиком библиотеки. Примерно в то же время библиотека набрала популярность в среде Python-разработчиков, и к проекту присоединилось множество новых участников.[5]
Примеры использования
правитьКривые
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()
Примечания
править- ↑ Release 2.2.3 — 2024.
- ↑ https://wesmckinney.com/pages/about.html
- ↑ https://www.youtube.com/watch?v=7JHqxODJG9k
- ↑ Pandas Reset Index (30 августа 2021). Дата обращения: 30 августа 2021. Архивировано 30 августа 2021 года.
- ↑ Daniel Chen. Pandas for Everyone: Python Data Analysis. — Addison-Wesley Professional, 2017. — ISBN 978-0134546933. Архивная копия от 6 сентября 2021 на Wayback Machine Источник . Дата обращения: 6 сентября 2021. Архивировано 6 сентября 2021 года.
Литература
править- Маккинни У. 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.