pandas — праграмная бібліятэка на мове Python для апрацоўкі і аналізу даных. Работа pandas з данымі будуецца па-над бібліятэкай NumPy[en], якая з’яўляецца інструментам ніжэйшага ўзроўню. Прадастаўляе спецыяльныя структуры даных і аперацыі для маніпулявання лічбавымі табліцамі і часавымі радамі[en]. Назва бібліятэкі паходзіць ад эканаметрычнага тэрміна «панэльныя даныя», які выкарыстоўваецца для апісання шматмерных структураваных набораў інфармацыі. pandas распаўсюджваецца пад новай ліцэнзіяй BSD.

Pandas
Выява лагатыпа
Тып бібліятэка Python[d] і праграма для лікавага аналізу[d]
Аўтар Уэс Мак-Кіні[d][1]
Распрацоўшчык Уэс Мак-Кіні[d], Брок Мендэль[d], Ёрыс Ван дэн Босшэ[d] і Джэф Рэбек[d][2]
Напісана на Python[4]
Аперацыйная сістэма кросплатформавае праграмнае забеспячэнне
Першы выпуск 11 студзеня 2008
Апошняя версія
  • 2.2.0 (20 студзеня 2024)[3]
Ліцэнзія ліцэнзія BSD[d]
Сайт pandas.pydata.org (англ.)
Лагатып Вікісховішча Медыяфайлы на Вікісховішчы

Вобласць выкарыстання правіць

Асноўная вобласць выкарыстання — забеспячэнне працы ў рамках асяроддзя Python не толькі для збору і ачысткі даных, але для задач аналізу і мадэлявання даных без пераключэння на мовы, больш спецыфічныя для статыстычнай апрацоўкі (такія як R і Octave).

Таксама актыўна вядзецца праца па рэалізацыі «родных» катэгарыяльных тыпаў даных.

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

Магчымасці правіць

Асноўныя магчымасці бібліятэкі:

  • Аб’ект DataFrame для маніпулявання індэксаванымі масівамі двухмерных даных[5].
  • Інструменты для абмену данымі паміж структурамі ў памяці і файламі розных фарматаў.
  • Убудаваныя сродкі сумяшчэння даных і спосабы апрацоўкі адсутнай інфармацыі.
  • Перафарматаванне набораў даных, у тым ліку стварэнне зводных табліц.
  • Зрэз даных па значэннях індэкса, пашыраныя магчымасці індэксавання, выбарка з вялікіх набораў даных.
  • Устаўка і выдаленне слупкоў даных.
  • Магчымасці групоўкі дазваляюць выконваць трохэтапныя аперацыі тыпу «падзел, змяненне, аб’яднанне» (англ.: split — apply — combine).
  • Зліццё і аб’яднанне набораў даных.
  • Іерархічнае індэксаванне дазваляе працаваць з данымі высокай памернасці ў структурах меншай памернасці.
  • Праца з часавымі радамі: фармаванне часавых перыядаў, змена інтэрвалаў і гэтак далей.

Бібліятэка аптымізавана для высокай прадукцыйнасці, найбольш важныя часткі кода напісаны на Cython[en] і Сі.

Гісторыя правіць

Распрацоўка бібліятэкі была распачата ў 2008 годзе супрацоўнікам AQR Capital Management[en] Вэсам Маккіні[en]. Перад сыходам з AQR яму ўдалося пераканаць кіраўніцтва дазволіць апублікаваць зыходны код бібліятэкі пад свабоднай ліцэнзіяй.

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

Прыклады выкарыстання правіць

Крывыя

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()

Зноскі

  1. https://wesmckinney.com/pages/about.html Праверана 25 чэрвеня 2021.
  2. https://www.youtube.com/watch?v=7JHqxODJG9k
  3. Release Pandas 2.2.0 — 2024.
  4. The py-pandas Open Source Project on Open Hub: Languages Page — 2006. Праверана 14 ліпеня 2018.
  5. Pandas Reset Index (30 жніўня 2021). Архівавана з першакрыніцы 30 жніўня 2021. Праверана 30 жніўня 2021.