Quelles sont les différences entre Pandas et NumPy + SciPy en Python? [fermé]

195

Ils semblent tous deux extrêmement similaires et je suis curieux de savoir quel package serait le plus avantageux pour l'analyse des données financières.

piRSquared
la source

Réponses:

313

pandas fournit des outils de manipulation de données de haut niveau construits sur NumPy. NumPy en lui-même est un outil de bas niveau, similaire à MATLAB. pandas, d'autre part, offre une riche fonctionnalité de séries chronologiques, l'alignement des données, des statistiques compatibles avec NA, des méthodes de regroupement, de fusion et de jointure et de nombreuses autres commodités. Il est devenu très populaire ces dernières années dans les applications financières. J'aurai un chapitre consacré à l'analyse des données financières à l'aide de pandas dans mon prochain livre.

Wes McKinney
la source
216
Vous auriez dû mentionner que vous êtes le principal auteur de pandas. :) Le livre en question: shop.oreilly.com/product/0636920023784.do
Yktula
3
Serait-il juste de dire que numpy fournit principalement des tableaux efficaces, tandis que pandas fournit des dictionnaires efficaces? (Dans les deux cas, limité à un type de données cohérent plutôt qu'à une forme libre.) Pour moi (je commence à peine à l'examiner maintenant), cela me semble être la différence sous-jacente: la gestion des données appariées aux étiquettes (dans 1d aka dict et 2d aka tables). L'alignement des données, la jointure, etc. deviennent tous possibles à cause de cela, mais pour les personnes qui ne comprennent pas cette différence sous-jacente, ce n'est même pas clair ce que cela signifie (par exemple, qu'est-ce que "l'alignement des données" de deux tableaux numpy?).
Brandyn
6
peut être une question maladroite, mais que voulez-vous dire par NA-friendly statistics, mentionné dans votre réponse.
Adil Abbasi
6
Je pense, il se réfère aux statistiques tenant compte des données manquantes (NA, "Non disponible")
user1319128
4
Fil froid, mais qu'en est-il des différences de performances entre une opération complexe dans numpy, par exemple, mais simplifiée syntaxiquement dans pandas? Y a-t-il un coût de performance à suivre le chemin de syntaxe simple et de haut niveau?
3pitt
59

Numpy est requis par les pandas (et par pratiquement tous les outils numériques pour Python). Scipy n'est pas strictement requis pour les pandas mais est répertorié comme une "dépendance facultative". Je ne dirais pas que les pandas sont une alternative à Numpy et / ou Scipy. Il s'agit plutôt d'un outil supplémentaire qui fournit une manière plus rationalisée de travailler avec des données numériques et tabulaires en Python. Vous pouvez utiliser des structures de données pandas mais utiliser librement les fonctions Numpy et Scipy pour les manipuler.

BrenBarn
la source
4

Les pandas offrent un excellent moyen de manipuler les tableaux, car vous pouvez simplifier le regroupement ( regrouper un cadre de données dans les pandas en Python ) et calculer des statistiques. Une autre chose qui est géniale dans les pandas est la classe Panel que vous pouvez joindre à une série de couches avec différentes propriétés et la combiner en utilisant la fonction groupby.

iury simoes-sousa
la source