Wie lösche ich mehrere Pandas (Python) -Datenrahmen aus dem Speicher, um RAM zu sparen?
Ich habe eine Menge von dataframes erstellt, als Teil der Vorverarbeitung. Da habe ich begrenzt, 6GB ram, ich will löschen Sie alle unnötigen dataframes aus dem RAM zu vermeiden, läuft der Arbeitsspeicher beim ausführen GRIDSEARCHCV in scikit-learn.
1) gibt es eine Funktion, um nur eine Liste, die alle dataframes, die derzeit in den Speicher geladen?
Ich habe versucht, dir (), aber es gibt viel anderen anderen Objekt als dataframes.
2) ich erstellte eine Liste von dataframes zu löschen
del_df=[Gender_dummies,
capsule_trans,
col,
concat_df_list,
coup_CAPSULE_dummies]
& lief
for i in del_df:
del (i)
Aber nicht das löschen des dataframes. Aber das löschen dataframes individially
wie unten löschen dataframe aus dem Speicher.
del Gender_dummies
del col
InformationsquelleAutor der Frage ML_Pro | 2015-08-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
del
Anweisung nicht löschen Sie eine Instanz, löscht es lediglich einen Namen.Wenn Sie
del i
löschen Sie einfach den Namen ich - aber die Instanz ist immer noch gebunden an einige andere Namen, so dass es nicht Garbage-collected.Wenn Sie wollen, um Speicher freizugeben, Ihre dataframes werden Garbage Collectiond.h. löschen Sie alle Verweise auf Sie.
Wenn Sie das dateframes dynamisch, um die Liste dann zu entfernen, die Liste wird Garbage Collection auszulösen.
Wenn Sie einige Variablen, die Sie haben, um Sie zu löschen alle.
InformationsquelleAutor der Antwort pacholik
In python automatische garbage collection freigibt die variable (pandas DataFrame sind auch nur ein anderes Objekt in der python). Es gibt verschiedene garbage-collection-Strategien, die verändert werden können (erfordert erhebliche lernen).
Können Sie manuell auslösen, die bei der garbage collection mit
Aber Häufig Aufrufe an die garbage collection ist entmutigt, als es ist eine teure operation und die Leistung beeinträchtigen kann.
Referenz
InformationsquelleAutor der Antwort shanmuga
Dies löscht den dataframe und lassen Sie die RAM/memory
InformationsquelleAutor der Antwort hardi