Einfache Frage - ich tue das folgende:beschleunigen Pandas csv lesen und nachfolgende gesenkten
train_set = pd.read_csv('./input/train_1.csv').fillna(0)
for col in train_set.columns[1:]:
train_set[col] = pd.to_numeric(train_set[col],downcast='integer')
erste Spalte der Datenrahmen ist ein String - der Rest sind ints. Read_csv gibt Floats, die ich nicht brauche. Das Downsampling führt zu einer Reduzierung des verwendeten Arbeitsspeichers um fast 50%, verlangsamt den Prozess jedoch erheblich. Kann ich das Ganze in einem Schritt machen? Oder weiß jemand, wie man dies multithread?
thx
hmm Ich sehe die Idee, aber das Problem ist, dass die erste Zeile eine Zeichenfolge ist. Das Angeben des D-Typs im Leseprozess funktioniert nicht mit der Zeichenfolge. Würden Sie sie separat lesen? Können wir die Reihenfolge bewahren? – dv3
Ich habe den Code bearbeitet. die konverter hat man auch bei mir – imanzabet
richtig gemacht - der code funktioniert wieder, löst aber das problem nicht. Dies konvertiert die Spalte mit dem Namen '1' in Ints. Ich habe die erste Spalte als String und den Rest (insgesamt 551) als Floats, die ich gerne konvertieren würde. – dv3