Mi sento come se caratterizzare Panda come "migliorare". Numpy/SciPy manca molto del punto. Numpy/Scipy sono piuttosto focalizzati sul calcolo numerico efficiente e sulla risoluzione di problemi numerici del tipo che gli scienziati e gli ingegneri spesso risolvono. Se il tuo problema inizia con le formule e comporta una soluzione numerica da lì, probabilmente stai bene con quei due.
Panda è molto più allineato con i problemi che iniziano con i dati memorizzati in file o database e che contengono stringhe e numeri. Considerare il problema della lettura dei dati da una query del database.In Pandas, è possibile effettuare direttamente read_sql_query
e disporre di una versione utilizzabile dei dati in un'unica riga. Non c'è funzionalità equivalente in Numpy/SciPy.
Per i dati con stringhe o dati discreti anziché continui, non esiste l'equivalente della capacità di groupby
o l'unione di tabelle delle versioni di database sui valori corrispondenti.
Per le serie temporali, c'è un enorme vantaggio di handling time series data utilizzando un indice datetime, che consente di ricampionare agevolmente a intervalli diversi, inserire valori e tracciare la tua serie incredibilmente facilmente.
Dal momento che molti dei miei problemi iniziano la loro vita in fogli di calcolo, sono anche molto grato per la gestione relativamente trasparente dei file di Excel in entrambi i formati .xls
e .xlsx
con un uniform interface.
Esiste anche un ecosistema più grande, con pacchetti come seaborn che consentono un'analisi statistica più fluida e un adattamento del modello di quanto sia possibile con la base numpy/scipy.