Załaduję ogromny csv (18 GB) do pamięci i zauważam bardzo duże różnice między R i Pythonem. To jest na AWS ec2 r4.8xlarge which has 244 Gb of memory. Oczywiście jest to skrajny przykład, ale zasada obowiązuje również w przypadku mniejszych plików na prawdziwych maszynach.Ładowanie bardzo dużego zestawu danych CSV do Pythona i R, walki Pandy
Podczas korzystania z pd.read_csv
mój plik trwał około 30 minut i zajmował 174 GB pamięci. Zasadniczo tak bardzo, że nie mogę z tym nic zrobić. W przeciwieństwie do R fread()
z pakietu data.table
zajęło ~ 7 minut i tylko ~ 55 GB pamięci.
Dlaczego obiekt pandy zajmuje o wiele więcej pamięci niż obiekt data.table? Ponadto, dlaczego zasadniczo obiekt pandy jest prawie 10 razy większy niż plik tekstowy na dysku? To nie jest tak, że .csv to szczególnie skuteczny sposób przechowywania danych w pierwszej kolejności.
Podobny do [https://stackoverflow.com/questions/17444679/reading-a-huge-csv-file](https://stackoverflow.com/questions/17444679/reading-a-huge-csv-file) – RobertMc
@RobertMc nie pod względem pand – roganjosh
Czy używasz 1.10.5 z 'fread', który jest nowy, w dev, a jeszcze nie na CRAN? Spróbuj również [paratext] (https://github.com/wiseio/paratext). –