Pandas

**Pandas** on andmetöötluse ja -analüüsi teek programmeerimiskeelele Python. Pandas põhineb sama keele andmemassiivide haldamiseks ja töötlemiseks mõeldud moodulil NumPy ja võimaldab kasutada spetsiaalseid andmetabelite ja aegridade manipuleerimiseks mõeldud andmestruktuure ja operatsioone.

Mooduli nimi tuleneb ökonomeetrilisest terminist "paneelandmed" (ingl. **''pan**el **da**ta''), mis tähistab aegridadest ja ristandmetest koosnevat andmekogu.

Pandas on tasuta tarkvara, mis on avaldatud BSD 3-osalise litsentsiga.

Projekti sponsoriks on mittetulundusorganisatsioon NumFOCUS.

Arendustiimi kuuluvad Tom Augspurger, Chris Bartak, Phillip Cloud, Andy Hayden, Stephan Hoyer, Wes McKinney, Jeff Reback, Chang She, Masaaki Horikoshi ja Joris Van den Bossche.

## Kasutusala
Vaatamata sellele, et Pythonit kasutatakse edukalt andmete korrastamiseks ja töötlemiseelseks ettevalmistamiseks, on selle kasutamine andmeanalüüsiks ja modelleerimiseks raskendatud. Tihti tuleb osa ülesannete täitmiseks kasutada vahendeid, mis peegeldavad konkreetse valdkonna iseärasusi, näiteks programmeerimiskeel R. Pandas likvideerib selle puuduse ja võimaldab sooritada kõik andmeanalüüsi etapid Pythonis.

Hetkeseisuga on Pandases teostatud vaid väike osa modelleerimisfunktsioonidest, kuid töö selles vallas jätkub ning on prioriteediks. Arendajad soovitavad uurida selliseid mooduleid nagu statsmodels ja Scikit-learn.

## Võimalused
Põhilised mooduli pakutavad võimalused:
* objekt DataFrame kahemõõtmeliste indekseeritud andmete manipuleerimiseks;
* tööriistad struktuuridevaheliseks andmete edastamiseks mälus ja andmete sisselugemiseks eri vormingus failidest: CSV, tekstifailid, SQL-andmebaasid;
* sisseehitatud tööriistad andmete kombineerimiseks ja puuduvate väärtuste töötlemiseks;
* andmekogude ümberkujundamine ja koondtabelite loomine;
* andmelõikude eraldamine indeksit kasutades ja laialdased indekseerimisvõimalused;
* andmeveergude lisamine ja eemaldamine;
* rühmitamisvõimalused;
* andmeosade ühendamine;
* hierarhiline indekseerimine võimaldab töödelda mahukaid andmeid, mis asuvad väiksemate mõõtmetega struktuurides;
* töö aegridadega: perioodide kujutamine ja intervallide muutmine.

Moodul on optimeeritud suure jõudluse saavutamiseks. Olulisemad koodi osad on kirjutatud keeltes Cython ja C.

## Ajalugu
Wes McKinney on Ameerika statistik, andmeteadlane, tarkvaraarendaja ja ettevõtja. Juba kooliposina näitas ta välja huvi matemaatika ja tehnoloogia vastu. Keskkooli lõpetamise järel asus ta Massachusettsi Tehnoloogiainstituudis matemaatikat õppima. Kooli lõpetamise järel 2007. aastal asus ta tööle ettevõttesse AQR Capital Management, kus töötas 2010. aastani. Nüüd töötab ta tarkvarainsenerina ettevõttes Two Sigma Investments.

McKinney alustas Pandase mooduli loomist AQR Capital Managementis 2008. aastal. Tema eesmärk oli luua kiire ja paindlik tööriist majandusalase kvantitatiivse analüüsi tarbeks. Talle ei meeldinud, et nii teadlased kui ka teised andmetega tegelevad spetsialistid raiskasid hädise tarkvara tõttu oma väärtuslikku aega. Samuti oli tema eesmärgiks luua tarkvaravahend, mille kasutus ja tundmaõppimine oleks lihtsam ka vähem vilunud arvutikasutaja jaoks. Enne firmast lahkumist 2010. aastal õnnestus tal veenda AQR-i juhtkonda ja saada luba loodud koodi avaldamiseks vaba litsentsiga.

## Vaata ka
* NumPy
* SciPy
* matplotlib
* R (programmeerimiskeel)
* IPython

## Viited