당신은 데이터를 저장하는 계층 적 데이터 포맷을 생성 (HDF) 파일을 PyTables을 사용할 수 있습니다. 이것은 당신이 그것을으로 저장된 파일에 대한 작업중인 객체를 연결 몇 가지 흥미로운 메모리 옵션을 제공합니다 여기
이 수행하는 방법을 보여줍니다 다른 StackOverflow의 질문이다. 당신이 기꺼이하는 경우
"How to store a NumPy multidimensional array in PyTables."
을
이 크기의 파일로
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
, 당신이 당신의 응용 프로그램이 병렬 알고리즘을 수행 할 수 있는지 여부를 고려해 볼 수 있습니다하십시오 팬더 DataFrame 객체로서 어레이와 함께 작동, 당신은 또한 PyTables/HDF5 예에 팬더 인터페이스를 사용할 수 있습니다 잠재적으로 큰 배열의 하위 집합에만 적용됩니다. 계속 진행하기 전에 배열을 모두 소비해야합니다.
출처
2013-09-10 18:20:20
ely
'np.savetxt ('file.npy.gz')'를 사용해 보셨습니까? 저장하는 데 더 오래 걸리고 (압축으로 인해) 나중에로드 되기는하지만 파일 크기가 크게 줄어 듭니다. – wflynny
@Bill 답장을 보내 주셔서 감사합니다. np.savetxt ('file.npy.gz')로 시도했지만 파일 크기가 줄어들지 만 데이터를 다시로드 할 수 없습니다. – user2766019
파일을 저장 한 파일 확장명이 같은 파일을로드 했습니까? 'np.loadtxt ('file.npy.gz')'. – wflynny