Was sind die Unterschiede zwischen Pandas und NumPy + SciPy in Python? [geschlossen]

195

Beide scheinen sich außerordentlich ähnlich zu sein, und ich bin gespannt, welches Paket für die Analyse von Finanzdaten vorteilhafter wäre.

piRSquared
quelle

Antworten:

312

pandas bietet hochwertige Datenmanipulationstools, die auf NumPy basieren. NumPy an sich ist ein relativ einfaches Tool, ähnlich wie MATLAB. pandas hingegen bietet umfangreiche Zeitreihenfunktionen, Datenausrichtung, NA-freundliche Statistiken, Groupby-, Merge- und Join-Methoden und viele andere Annehmlichkeiten. Es ist in den letzten Jahren in Finanzanwendungen sehr beliebt geworden. In meinem nächsten Buch werde ich ein Kapitel über die Analyse von Finanzdaten mit Pandas haben.

Wes McKinney
quelle
216
Du hättest erwähnen sollen, dass du der Hauptautor von Pandas bist. :) Das fragliche Buch: shop.oreilly.com/product/0636920023784.do
Yktula
3
Wäre es fair zu sagen, dass Numpy in erster Linie effiziente Arrays bereitstellt, während Pandas effiziente Wörterbücher bereitstellt? (In beiden Fällen beschränkt sich dies eher auf den konsistenten Datentyp als auf die freie Form.) Für mich (ich fange gerade erst an, mich damit zu befassen) scheint mir dies der grundlegende Unterschied zu sein: der Umgang mit Daten mit Label-Paaren (in 1d aka dicts und 2d aka Tabellen). Datenausrichtung, Verknüpfung usw. werden dadurch möglich , aber für Leute, die diesen zugrunde liegenden Unterschied nicht erkennen, ist nicht einmal klar, was diese bedeuten (z. B. was ist "Datenausrichtung" von zwei Numpy-Arrays?).
Brandyn
6
mag eine doofe Frage sein, aber was meinst du damit NA-friendly statistics, erwähnt in deiner Antwort.
Adil Abbasi
6
Ich denke, er bezieht sich auf Statistiken unter Berücksichtigung fehlender Daten (NA, "Nicht verfügbar")
user1319128
4
Kalter Thread, aber was ist mit Leistungsunterschieden bei einer komplexen Operation in Numpy, die jedoch in Pandas syntaktisch vereinfacht wird? Gibt es Leistungskosten für den einfachen Syntaxpfad auf hoher Ebene?
3pitt
59

Numpy wird von Pandas (und von praktisch allen numerischen Werkzeugen für Python) benötigt. Scipy ist für Pandas nicht unbedingt erforderlich, wird jedoch als "optionale Abhängigkeit" aufgeführt. Ich würde nicht sagen, dass Pandas eine Alternative zu Numpy und / oder Scipy sind. Es handelt sich vielmehr um ein zusätzliches Tool, mit dem Sie in Python effizienter mit numerischen und tabellarischen Daten arbeiten können. Sie können Pandas-Datenstrukturen verwenden, aber frei auf Numpy- und Scipy-Funktionen zurückgreifen, um sie zu bearbeiten.

BrenBarn
quelle
4

Pandas bieten eine großartige Möglichkeit, Tabellen zu bearbeiten , da Sie das Binning vereinfachen ( Binning eines Datenrahmens in Pandas in Python ) und Statistiken berechnen können. Eine weitere großartige Sache bei Pandas ist die Panel-Klasse, mit der Sie eine Reihe von Ebenen mit unterschiedlichen Eigenschaften verbinden und mithilfe der Groupby-Funktion kombinieren können.

iury simoes-sousa
quelle