Làm thế nào tôi có thể sử dụng pd.read_csv() để lặp đi lặp lại đoạn thông qua một tập tin và giữ lại dtype và meta-thông tin khác như thể tôi đọc trong toàn bộ bộ dữ liệu cùng một lúc?Get loại dataframe suy ra lặp đi lặp lại sử dụng chunksize
Tôi cần đọc trong tập dữ liệu quá lớn để vừa với bộ nhớ. Tôi muốn nhập tập tin bằng cách sử dụng pd.read_csv và sau đó ngay lập tức nối đoạn vào một HDFStore. Tuy nhiên, suy luận kiểu dữ liệu không biết gì về các khối tiếp theo.
Nếu đoạn đầu tiên được lưu trữ trong bảng chỉ chứa int và đoạn tiếp theo chứa một phao, ngoại lệ sẽ được nâng lên. Vì vậy, tôi cần phải lặp lại lần đầu tiên thông qua khung dữ liệu bằng cách sử dụng read_csv và giữ lại loại được phỏng đoán là cao nhất. Ngoài ra, đối với các loại đối tượng, tôi cần giữ lại độ dài tối đa vì chúng sẽ được lưu trữ dưới dạng các chuỗi trong bảng.
Có cách duy nhất để giữ lại thông tin này mà không cần đọc trong toàn bộ tập dữ liệu không?
bạn cũng có thể sử dụng skiprows = danh sách hàng để bỏ qua và bỏ qua hàng trong 1-9 để lấy mẫu ur chỉ mỗi hàng thứ 10, sẽ nhanh hơn nhiều (và prob nhận được câu trả lời bạn muốn), tôi nghĩ bạn sẽ cần tạo ra hàng bỏ qua này – Jeff
@Jeff Làm thế nào bạn sẽ nhận được điều này mà không biết tổng số hàng trong csv, mà sẽ đòi hỏi phải đọc nó tất cả trong – Luke
Bạn cũng nên xem xét việc chọn các dtypes tối đa sau mỗi lần lặp đoạn, thay vì lưu trữ tất cả các dtypes và giảm ở cuối. Ví dụ: một csv có 2MM hàng và kích thước chunk là 500, sẽ dẫn đến 400.000 hàng trong khung! – jastr