2013-05-20 9 views
10

Voglio leggere i dati da più file che voglio usare per il plottaggio (matplotlib).Leggere solo 1 colonna da un file usando la funzione loadtxt() di NumPy

Ho trovato una funzione loadtxt() che potrei usare per questo scopo. Tuttavia, voglio solo leggere in una colonna da ciascun file.

Come faccio? le seguenti opere di comando per me, se ho letto in almeno 2 colonne, ad esempio:

numpy.loadtxt('myfile.dat', usecols=(2,3)) 

Ma

numpy.loadtxt('myfile.dat', usecols=(3)) 

getterebbero un errore.

+0

Per ulteriori testo avanzato di carico (ad esempio, la gestione dei valori mancanti) è anche possibile utilizzare di [genfromtxt] NumPy (http://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt. html) – Sicco

risposta

15

È necessaria una virgola dopo il 3 per indicare a Python che (3,) è una tupla. Python interpreta (3) come lo stesso valore di 3 e loadtxt desidera un argomento di tipo sequenza per usecols.

numpy.loadtxt('myfile.dat', usecols=(3,)) 
+0

Ah, non ci ho pensato. È la prima volta che utilizzo NumPy, grazie! –

+6

Oppure 'usecols = [3]' se non si desidera utilizzare la virgola. – askewchan

Problemi correlati