Hãy nói rằng tôi có một gấu trúc DataframeLàm thế nào để giới hạn kích thước truy vấn gấu trúc trên HDF5 để nó không vượt quá giới hạn RAM?
import pandas as pd
df = pd.DataFrame()
df
Column1 Column2
0 0.189086 -0.093137
1 0.621479 1.551653
2 1.631438 -1.635403
3 0.473935 1.941249
4 1.904851 -0.195161
5 0.236945 -0.288274
6 -0.473348 0.403882
7 0.953940 1.718043
8 -0.289416 0.790983
9 -0.884789 -1.584088
........
Một ví dụ về truy vấn là df.query('Column1 > Column2')
Hãy nói rằng bạn muốn hạn chế sự tiết kiệm của truy vấn này, vì vậy các đối tượng không phải là quá lớn. Có cách nào "gấu trúc" để thực hiện việc này không?
Câu hỏi của tôi chủ yếu cho truy vấn ở đối tượng HDF5 có gấu trúc. Một đối tượng HDF5 có thể lớn hơn nhiều so với RAM, và do đó các truy vấn có thể lớn hơn RAM.
# file1.h5 contains only one field_table/key/HDF5 group called 'df'
store = pd.HDFStore('file1.h5')
# the following query could be too large
df = store.select('df',columns=['column1', 'column2'], where=['column1==5'])
Có cách nào để ngăn người dùng thực hiện truy vấn vượt quá một kích thước nhất định không?
Bạn có muốn ngăn chặn chúng vì nó phá vỡ máy? Hay bạn muốn tìm cách để đạt được tính toán của mình mà không phá vỡ máy? Nếu sau này, dask phải là bạn của bạn – Boud
những gì về việc sử dụng tham số 'chunksize' khi gọi' store.select (...) '? – MaxU
@Boud Cả hai tùy chọn đều cần xem xét. Còn về cái gì? – ShanZhengYang