Tôi đang cố gắng đọc một tệp CSV khá lớn với Pandas và chia thành hai phần ngẫu nhiên, một trong số đó là 10% dữ liệu và phần còn lại là 90%.Pandas: Lấy mẫu DataFrame
Dưới đây là nỗ lực hiện tại của tôi:
rows = data.index
row_count = len(rows)
random.shuffle(list(rows))
data.reindex(rows)
training_data = data[row_count // 10:]
testing_data = data[:row_count // 10]
Đối với một số lý do, sklearn
ném lỗi này khi tôi cố gắng sử dụng một trong các đối tượng này DataFrame kết quả bên trong của một bộ phân loại SVM:
IndexError: each subindex must be either a slice, an integer, Ellipsis, or newaxis
Tôi nghĩ Tôi đang làm sai. Có cách nào tốt hơn để làm điều này?
Ngẫu nhiên, điều này sẽ không xáo trộn ngẫu nhiên một cách chính xác anyway - vấn đề là 'random.shuffle (danh sách (hàng)) ' . 'shuffle' thay đổi dữ liệu mà nó hoạt động, nhưng khi bạn gọi' list (rows) ', bạn tạo một bản sao của' rows' được thay đổi và sau đó bị vứt bỏ - chuỗi gấu trúc bên dưới, 'rows', không thay đổi. Một giải pháp là gọi 'rows = list (rows)', sau đó là 'random.shuffle (rows)' và 'data.reindex (rows)' sau đó. –