2017-07-01 4 views
-2

Ich habe meine Daten in Form von Liste, aber für den einfachen Zugriff brauche ich sie in Matrix von 11 Zeilen wie p0-p10 und 4 Spalten wie a,b,c,d bekannt zu sein.Wie konvertiert man eine Liste in eine 2D-Matrix?

Dies ist meine Daten:

[ 
[0.078125, 0.328125, 0.328125, 0.265625], 
[0.171875, 0.390625, 0.140625, 0.296875], 
[0.109375, 0.015625, 0.015625, 0.859375], 
[0.859375, 0.015625, 0.109375, 0.015625], 
[0.953125, 0.015625, 0.015625, 0.015625], 
[0.015625, 0.015625, 0.234375, 0.734375], 
[0.046875, 0.921875, 0.015625, 0.015625], 
[0.109375, 0.421875, 0.109375, 0.359375], 
[0.140625, 0.484375, 0.359375, 0.015625], 
[0.078125, 0.296875, 0.421875, 0.203125] 
] 

Ich habe versucht, mit numpy aber es funktioniert nicht, ist es eine andere Methode?

+2

NumPy sollte sicher arbeiten. Ich würde dir raten, dies noch einmal zu versuchen. Es sollte wirklich einfach sein –

+0

Ihre Liste ist bereits eine 2D-Matrix in Python, nur die Zeilen und Spalten haben keine Namen, sie haben Indizes. Zum Beispiel ist das, was Sie 'p1.c' nennen wollen, in' data [1] [2] 'enthalten, was die zweite Zeile, dritte Spalte der Liste ist. – martineau

Antwort

0

numpy arbeitet

Beispiel:

a = [[0.078125, 0.328125, 0.328125, 0.265625], [0.171875, 0.390625, 0.140625, 0.296875], [0.109375, 0.015625, 0.015625, 0.859375], [0.859375, 0.015625, 0.109375, 0.015625], [0.953125, 0.015625, 0.015625, 0.015625], [0.015625, 0.015625, 0.234375, 0.734375], [0.046875, 0.921875, 0.015625, 0.015625], [0.109375, 0.421875, 0.109375, 0.359375], [0.140625, 0.484375, 0.359375, 0.015625], [0.078125, 0.296875, 0.421875, 0.203125]] 
a = np.array(a) 
print(a.shape) 

(10,4)

a = a.reshape((4,10)) 
print(a.shape) 

(4,10)

+0

Wenn ich meine Matrix (10,4) bekomme, wie man ein Element der Matrix einzeln nennt? – prilinsh

+0

a [Zeilennummer, Spaltenname] - für einzelnes Element, Beispiel: a [2,3] –

Verwandte Themen