@ Donkopotamus, es war ein Fehler von mir ... Ich gab eine Sequenz ... Ich tat das gleiche, bekam aber den Fehler. Nachdem ich den gleichen Code von hier erhalten habe, habe ich überprüft, wo sich das Problem befindet.
Shan
Antworten:
87
Übergeben Sie die Liste einfach an np.array:
a = np.array(a)
Sie können diese Gelegenheit auch nutzen, um festzulegen, dtypeob die Standardeinstellung nicht Ihren Wünschen entspricht.
Diese Lösung funktioniert nicht. Sie erhalten eine Reihe von Python-Listen.
user1816847
47
@ user1816847 Dies geschieht nur, wenn sich die Unterlisten in der Länge unterscheiden (z. B.: [[1,2], [1,2], [1,2,3]]. Dies funktioniert mit dem in der Frage angegebenen Beispiel.
Compie
5
Wenn die Unterarrays nicht dieselbe Länge haben, erhalten Sie mit dieser Lösung nur ein numpy-Array von Listen (dh die inneren Listen werden nicht in numpy-Arrays konvertiert). Das ist absolut sinnvoll, da Sie kein 2D-Array (Matrix) mit variabler 2. Dimension haben können.
AHA
Vielen Dank ab September 2017 (Ubuntu 16.04 LTS). Das brauchte ich. Viel einfacher als erwartet.
SDsolar
1
Vielen Dank für die wichtige Antwort, @compie
iedmrc
2
Ich verwende große Datenmengen, die im Formular in eine Python-Datei exportiert wurden
np.array()ist noch mächtiger als das, was unutbu oben gesagt hat. Sie können es auch verwenden, um eine Liste von np-Arrays in ein Array mit höherer Dimension zu konvertieren. Das folgende Beispiel ist einfach:
Antworten:
Übergeben Sie die Liste einfach an
np.array
:Sie können diese Gelegenheit auch nutzen, um festzulegen,
dtype
ob die Standardeinstellung nicht Ihren Wünschen entspricht.quelle
Ich verwende große Datenmengen, die im Formular in eine Python-Datei exportiert wurden
Jede Liste hat die gleiche Länge. ich benutze
>>> a1 = np.array(SV.XVals1) >>> a2 = np.array(SV.XVals2)
Dann
>>> A = np.matrix([a1,a2])
quelle
Verwenden Sie einfach den folgenden Code
c = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
Dann wird es dir geben
Sie können Form und Abmessung der Matrix mithilfe des folgenden Codes überprüfen
Form
c.ndim
quelle
np.array()
ist noch mächtiger als das, was unutbu oben gesagt hat. Sie können es auch verwenden, um eine Liste von np-Arrays in ein Array mit höherer Dimension zu konvertieren. Das folgende Beispiel ist einfach:aArray=np.array([1,1,1]) bArray=np.array([2,2,2]) aList=[aArray, bArray] xArray=np.array(aList)
xArrays Form ist (2,3), es ist ein Standard-NP-Array. Diese Operation vermeidet eine Schleifenprogrammierung.
quelle