Pandas – Caricamento manuale dei dati
Vediamo con un esempio come caricare dei dati da un file CSV per poterli poi gestire come un array.
L’indice di questa guida è disponibile a questo link: https://computer4dummy.altervista.org/programmazione-guide-alla-programmazione/python-data-analisi/panda-per-python/
Dati strutturati
Utilizzando internet ormai possiamo avere a disposizione una infinità di dati da poter utilizzare per poter fare analisi, la difficoltà sta però nel trovarli organizzati e strutturati in modo da poter essere utilizzati dai computer, un sito interessante dove poter trovare dei dati per poter fare i primi test è KAGGLE:
CSV
Uno dei formati più diffusi e facili da trovare è il CSV (comma separated values) dove ad ogni riga è associabile un record e i campi sono invece separati dalla virgola.
Le strutture dati in formato CSV sono facilmente editabili da applicazioni diffuse come Excel, essendo a tutti gli effetti delle tabelle possono essere quindi facilmente inseriti in matrici dove ci diventa più facile integrare funzioni matematiche per eseguire calcoli e funzioni.
Scaricare ed importare un file CSV
Sul mio repository di GitHub ho caricato un file csv di esempio che potere scaricare da questo indirizzo:
Si può subito verificare che il file composto da 100 righe ogni una composta da tre numeri separati da virgola.
Questo è lo script per importare il file CSV che abbiamo scaricato, ricordatevi di copiarlo nello stesso percorso del file *.py che andremo ad eseguire.
import numpy as np X = [] for line in open("data_2d.csv"): row = line.split(',') sample = map(float, row) X.append(sample) X [[17.9302012052, 94.5205919533, 320.259529602], [97.1446971852, 69.5932819844, 404.634471526], [81.7759007845, 5.73764809688, 181.485107741], ... [68.600607572, 72.5711807231, 355.900286918], [41.6938871165, 69.241125973, 284.834636711], [4.1426693978, 52.2547263792, 168.034400947]]
Vediamo che la variabile X ha importato correttamente tutti i numeri del file CSV, ora la “convertiamo” in un array numpy in questo modo:
X = np.array(X) X.shape Out[16]: (100L, 3L)
Alla fine con il comando X.shape possiamo verificare che l’array contenga effettivamente 100 linee e 3 colonne.