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
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: