Możesz użyć PyTables do utworzenia pliku Hierarchical Data Format (HDF) do przechowywania danych. Daje to ciekawe możliwości w pamięci, które łączą przedmiot pracujesz z do pliku zapisanego w
Oto kolejne pytania StackOverflow, który pokazuje, jak to zrobić. "How to store a NumPy multidimensional array in PyTables."
Jeśli jesteś gotów pracować z tablicy jako obiekt pandy DataFrame, można również korzystać z interfejsu pandy do PyTables/hdf5, np
import pandas
import numpy as np
a = np.ones((43200, 4000)) # Not recommended.
x = pandas.HDFStore("some_file.hdf")
x.append("a", pandas.DataFrame(a)) # <-- This will take a while.
x.close()
# Then later on...
my_data = pandas.HDFStore("some_file.hdf") # might also take a while
usable_a_copy = my_data["a"] # Be careful of the way changes to
# `usable_a_copy` affect the saved data.
copy_as_nparray = usable_a_copy.values
z akt tej wielkości, można rozważyć, czy aplikacja może być wykonywane za pomocą algorytmu równoległego i potencjalnie zastosowane tylko do podzbiorów dużych tablic niż konieczność skonsumowania całej tablicy przed kontynuowaniem.
Czy próbowałeś 'np.savetxt ('file.npy.gz')'? Zapisanie i późniejsze wczytanie (z powodu kompresji) potrwa dłużej, ale powinno znacznie zmniejszyć rozmiar pliku. – wflynny
@Bill dzięki za odpowiedź, po prostu wypróbowany z np.savetxt ('file.npy.gz'), a to zmniejszy mój rozmiar pliku, ale nie może załadować danych z powrotem. – user2766019
Czy na pewno załadowałeś plik z takim samym rozszerzeniem, z jakim go zapisałeś? 'np.loadtxt ('file.npy.gz')'. – wflynny