OK Tôi đang thử nghiệm với gấu trúc để tải xung quanh một tập tin csv 30GB với 40 triệu + hàng và 150 + cột vào HDFStore. Phần lớn các cột là chuỗi, theo sau là số và ngày tháng.Pandas HDFStore tải dataframe từ bộ nhớ
Tôi chưa bao giờ thực sự sử dụng NumPy, gấu trúc hoặc pytables trước nhưng đã chơi xung quanh với khung dữ liệu trong R.
Tôi hiện chỉ lưu trữ một tập tin mẫu khoảng 20000 dòng trong để HDFStore. Khi tôi cố gắng đọc bảng từ HDFStore bảng được nạp vào bộ nhớ và sử dụng bộ nhớ tăng lên bởi ~ 100MB
f=HDFStore('myfile.h5')
g=f['df']
Sau đó, tôi xóa các biến chứa DataFrame:
del g
Tại điểm sử dụng bộ nhớ giảm đi khoảng 5MB
Nếu tôi một lần nữa nạp dữ liệu vào g sử dụng g=f['df']
, sử dụng bộ nhớ bắn lên 100MB khác
Clea nup chỉ xảy ra khi tôi thực sự đóng cửa sổ.
Cách dữ liệu được sắp xếp, có lẽ tôi sẽ chia dữ liệu thành các bảng riêng lẻ với kích thước bảng tối đa khoảng 1 GB có thể vừa với bộ nhớ và sau đó sử dụng từng dữ liệu một. Tuy nhiên, cách tiếp cận này sẽ không hoạt động nếu tôi không thể xóa bộ nhớ.
Bất kỳ ý tưởng nào về cách tôi có thể đạt được điều này?
Bạn đã đọc nội dung này? (Hiển thị chức năng lấy dữ liệu từ tệp csv và tạo cửa hàng theo khối, cũng như phân tích cú pháp ngày): http://stackoverflow.com/questions/16110252/need-to-compare-very-large-files-around -1-5gb-in-python/16110391 # 16110391 – Mattijn
Bạn cần đóng cửa hàng. Có tài liệu mở rộng về việc sử dụng '' HDFStore'' [ở đây] (http://pandas.pydata.org/pandas-docs/dev/io.html#hdf5-pytables) – Jeff
bất kỳ cập nhật nào về điều này? Tôi đang gặp vấn đề tương tự. và '' f.close() '' không thay đổi việc sử dụng bộ nhớ trong trường hợp của tôi – sanguineturtle