Ich versuche, eine ziemlich große CSV-Datei mit Pandas zu lesen und es in zwei zufällige Stücke aufzuteilen, von denen eine 10% der Daten und die andere 90% ist.Pandas: Sampling eines DataFrame
Hier ist meine aktuelle Versuch:
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]
Aus irgendeinem Grund sklearn
wirft diesen Fehler, wenn ich versuche, innerhalb eines SVM-Klassifikator eine dieser resultierenden Datenrahmen Objekte zu verwenden:
IndexError: each subindex must be either a slice, an integer, Ellipsis, or newaxis
Ich denke, Ich mache es falsch. Gibt es einen besseren Weg, dies zu tun?
übrigens das richtig sowieso nicht zufällig mischen würde - das Problem ist, 'random.shuffle (Liste (Zeilen))' . 'shuffle' ändert die Daten, auf denen es arbeitet, aber wenn Sie' list (rows) 'aufrufen, erstellen Sie eine Kopie von' rows', die verändert und dann weggeworfen werden - die zugrunde liegende Pandas-Serie, 'rows', ist unverändert. Eine Lösung besteht darin, danach 'rows = list (rows)', dann 'random.shuffle (rows)' und 'data.reindex (rows)' aufzurufen. –