Quali sono le differenze tra Panda e NumPy + SciPy in Python? [chiuso]


195

Sembrano entrambi estremamente simili e sono curioso di sapere quale pacchetto sarebbe più vantaggioso per l'analisi dei dati finanziari.

Risposte:


314

Panda fornisce strumenti di manipolazione dei dati di alto livello basati su NumPy. NumPy da solo è uno strumento di livello abbastanza basso, simile a MATLAB. i panda invece offrono funzionalità di serie storiche, allineamento dei dati, statistiche NA-friendly, metodi di raggruppamento, unione e unione e molte altre comodità. È diventato molto popolare negli ultimi anni nelle applicazioni finanziarie. Avrò un capitolo dedicato all'analisi dei dati finanziari usando i panda nel mio prossimo libro.


217
Avresti dovuto menzionare che sei l'autore principale dei panda. :) Il libro in questione: shop.oreilly.com/product/0636920023784.do
Yktula

3
Sarebbe giusto dire che numpy fornisce principalmente array efficienti, mentre i panda forniscono dizionari efficienti? (In entrambi i casi, limitato al tipo di dati coerente piuttosto che alla forma libera.) Per me (sto appena iniziando a esaminarlo ora), questo mi sembra la differenza di fondo: la gestione dei dati associati all'etichetta (in 1d aka dicts e 2d aka tabelle). L'allineamento dei dati, l'unione, ecc. Diventano tutti possibili a causa di ciò, ma per le persone che non riconoscono quella differenza di fondo non è nemmeno chiaro cosa significhino (ad esempio, che cos'è "allineamento dei dati" di due array intorpiditi?).
Brandyn,

6
può essere una domanda sciocca ma cosa intendi con NA-friendly statistics, menzionato nella tua risposta.
Adil Abbasi,

6
Penso che si riferisca alle statistiche tenendo conto dei dati mancanti (NA, "Non disponibile")
user1319128

4
Discussione a freddo, ma per quanto riguarda le differenze di prestazioni, ad esempio un'operazione complessa in numpy, ma semplificata sintatticamente in panda? C'è un costo prestazionale per seguire un percorso di sintassi semplice e di alto livello?
3pitt

59

Numpy è richiesto dai panda (e praticamente da tutti gli strumenti numerici per Python). Scipy non è strettamente richiesto per i panda ma è elencato come "dipendenza opzionale". Non direi che i panda siano un'alternativa a Numpy e / o Scipy. Piuttosto, è uno strumento aggiuntivo che fornisce un modo più semplificato di lavorare con dati numerici e tabulari in Python. Puoi usare le strutture dati di Panda ma attingere liberamente alle funzioni di Numpy e Scipy per manipolarle.


4

I panda offrono un ottimo modo per manipolare le tabelle, in quanto è possibile semplificare il binning ( binning di un frame di dati in Panda in Python ) e calcolare le statistiche. Un'altra cosa fantastica nei panda è la classe Panel che puoi unire serie di livelli con proprietà diverse e combinarla usando la funzione groupby.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.