0
Was ist der beste/einfachste Weg, um einen sehr großen Datenrahmen (50 GB) in mehrere Ausgaben (horizontal) aufzuteilen?Pandas Dataframe to_csv - Auf mehrere Ausgabedateien aufgeteilt
Ich dachte darüber nach, wie etwas zu tun:
stepsize = int(1e8)
for id, i in enumerate(range(0,df.size,stepsize)):
start = i
end = i + stepsize-1 #neglect last row ...
df.ix[start:end].to_csv('/data/bs_'+str(id)+'.csv.out')
Aber ich wette, es gibt eine intelligentere Lösung ist?
I Ich denke, das ist wahrscheinlich der beste Weg, um das zu tun, was Sie gefragt haben ... aber ist es das, was Sie wirklich wollen? machen? CSV ist unglaublich ineffizient für Daten dieser Größe, sowohl hinsichtlich des belegten Speicherplatzes als auch der Lese-/Schreibgeschwindigkeit. Ich würde Sie ermutigen, ein geeigneteres Format zum Speichern eines so großen Datasets in Betracht zu ziehen, zum Beispiel [hdf5] (https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_hdf.html) . – jakevdp
@jakevdp, danke für deinen Kommentar. Hdf5 oder was ich mag: bcolz sind viel bessere Formate, die du hast. manchmal wollen meine Geschäftspartner csvs ...: - / – PlagTag