2017-01-24 2 views
0

Ich habe eine txt-Datei, die so etwas wieKann numpy.genfromtxt() eine Liste mit Spaltendaten, keine Zeilendaten zurückgeben?

col1 col2 col3 
1 4 7 
2 5 8 
3 6 9 

und ich versuche, um eine Liste von Listen, welche die Spalte Daten aussieht:

[ [1,2,3] [4,5,6] [7,8,9] ] 
von

aber der folgende Code erzeugt eine Liste Zeilendaten, dh [ [1,4,7], ... ].

blah = np.genfromtxt(scrubbed_file, skip_header=1) 
for bluh in blah: 
    print(bluh) 

Gibt es einen einfachen Weg, dies zu erreichen?

+0

OK ich habe es. Wird die Antwort in einer Sekunde posten –

Antwort

2

Sie können einfach das resultierende Array wie so transponieren: blah = np.genfromtxt(scrubbed_file, skip_header=1).T Dies wird wirksam das Array setzt es auf dieser Seite, was im Datenformat Sie wollen.

0

Es gibt eine sehr bequeme Python-Funktion, die dies tut genau das, nämlich zip(*list):

blah = np.genfromtxt(scrubbed_file, skip_header=1) 
for bluh in zip(*blah): 
    print(bluh) 
1

Verwenden Sie die auspacken Variable aus genfromtext:

np.genfromtxt('text.csv', delimiter=',', unpack=True, skip_header=1) 

Es gibt die folgenden:

array([[ 1., 2., 3.], 
     [ 4., 5., 6.], 
     [ 7., 8., 9.]]) 
Verwandte Themen