Erstellen eines riesigen numpy Arrays mit Pytables

7

Wie kann ich ein großes numpy Array mit Pytables erstellen? Ich habe das versucht, aber gibt mir den "ValueError: Array ist zu groß." Fehler:

%Vor%     
Academia 27.12.2011, 08:40
quelle

2 Antworten

8

Sie könnten versuchen, die Klasse tables.CArray zu verwenden, da sie die Komprimierung unterstützt, aber ...

Ich denke, bei Fragen geht es mehr um numpy als um pytables, weil Sie Arrays mit numpy erstellen, bevor Sie sie mit pytables speichern.

Auf diese Weise benötigen Sie eine Menge von RAM zum Ausführen np.zeros ((ndim, ndim) - und dies ist wahrscheinlich der Ort, wo die Ausnahme: "ValueError: Array ist zu groß." ist angehoben.

Wenn Matrix / Array nicht dicht ist, können Sie die in scipy verfügbare karge Matrixdarstellung verwenden: Ссылка

Eine andere Lösung besteht darin, zu versuchen, auf Ihr Array über Chunks zuzugreifen, wenn Sie nicht das gesamte Array auf einmal benötigen - lesen Sie diesen Thread: Sehr große Matrizen mit Python und NumPy

    
b1r3k 27.12.2011, 10:12
quelle
15

Huckepack von @ b1r3ks Antwort, um ein Array zu erstellen, auf das Sie nicht auf einmal zugreifen werden (d. h. das Ganze in den Speicher bringen), Sie möchten CArray (Chunked Array) verwenden. Die Idee ist, dass Sie dann schrittweise füllen und darauf zugreifen:

%Vor%     
JoshAdel 27.12.2011 14:39
quelle

Tags und Links