Tôi có một mảng thưa thớt có vẻ quá lớn để có hiệu quả trong bộ nhớ (2000x2500000, phao). Tôi có thể hình thành nó thành một lil_array thưa thớt (scipy) nhưng nếu tôi thử đầu ra một cột hoặc hàng nén mảng thưa thớt (A.tocsc(), A.tocsr()) máy của tôi hết bộ nhớ (và cũng có một sự không phù hợp nghiêm trọng giữa dữ liệu trong tệp văn bản 4.4G và mảng lil 12G được chọn - sẽ rất tuyệt khi có định dạng đĩa gần đúng hơn với kích thước dữ liệu thô).Lớn trên mảng đĩa dành cho khối u
Tôi có thể sẽ xử lý các mảng lớn hơn trong tương lai.
Câu hỏi: Cách tốt nhất để xử lý lớn trên mảng đĩa theo cách sao cho tôi có thể sử dụng các chức năng thường xuyên gọn gàng một cách minh bạch. Ví dụ, tổng dọc theo hàng và cột, sản phẩm vector, tối đa, phút, cắt vv?
Có phải pytables là con đường để đi không? là có một lớp trung gian (nhanh) sql-numpy? một bí mật trên mảng đĩa được xây dựng thành numpy?
Trong quá khứ với mảng (hơi nhỏ hơn), tôi luôn chỉ cần lưu trữ các kết quả được tính toán lâu dài vào đĩa. Điều này hoạt động khi các mảng kết thúc là < 4G hoặc lâu hơn nhưng không còn có thể sử dụng được nữa.
Khi bạn chọn mảng của mình, bạn có chắc chắn sử dụng giao thức nhị phân không? Nếu bạn đang sử dụng giao thức văn bản mặc định, thì đây có thể là nguyên nhân của kích thước tệp lớn. – DaveP