So prüfen Sie, ob ein Array 2D ist

8

Ich lese aus einer Datei mit loadtxt like this

%Vor%

data könnte wie

aussehen %Vor%

Ich kann dann data auf die Zeilen reduzieren, die zu einigen id number gehören:

%Vor%

Das Problem besteht hier, wenn die Daten nur eine Zeile enthalten.

Also meine Frage ist, wie man die Zweidimensionalität meines Arrays data überprüft?

Ich habe versucht,

zu überprüfen %Vor%

aber für Einzeiler bekomme ich etwas wie (n, ) , also wird das nicht funktionieren.

Irgendwelche Ideen, wie man das richtig macht?

    
Tengis 24.11.2012, 19:15
quelle

2 Antworten

13

data.ndim gibt die Dimension an (mit welcher Nummer der Aufruf erfolgt Anzahl von axes ) des Arrays.

Wie Sie bereits festgestellt haben, wenn eine Datendatei nur eine Zeile enthält, np.loadtxt Gibt ein 1D-Array zurück. Wenn die Datendatei mehr als eine Zeile enthält, np.loadtxt gibt ein 2D-Array zurück.

Der einfachste Weg um sicherzustellen, dass data 2D ist, besteht darin, ndmin=2 an loadtxt :

zu übergeben %Vor%

Der Parameter ndmin wurde in NumPy Version 1.6.0 hinzugefügt. Für ältere Versionen Sie könnten np.atleast_2d verwenden:

%Vor%
unutbu 24.11.2012, 19:16
quelle
0

Sie können die Dimension Ihres Arrays immer mit len(array) function überprüfen.

Beispiel1:

%Vor%

Ausgabe:

%Vor%

Und wenn Ihr Array ein Numpy-Array ist, können Sie die Dimension mit len(array.shape) überprüfen.

Beispiel2:

%Vor%

Ausgabe:

%Vor%     
imanzabet 06.08.2017 03:02
quelle

Tags und Links