前提・実現したいこと
以下のように関数の中で使われるdataframeがあるとします。
このdataframeを、使用後にdelやgc.collect()を使って削除し、メモリを開放したいのですが、どのように書けばいいでしょうか。
returnの直後に書いてしまうとdelやgc.collect()を実行する前に関数の呼び出し元に処理が戻ってしまい、delやgc.collect()が実行されないと思います。
また、関数の外(例えば下記のprint直前等)に書くと「NameError: name 'df' is not defined」となってしまいます。
※以下はあくまでサンプルですが、実際はデータ量が非常に大きいため、使用後に削除してメモリを開放したいです。
import pandas as pd def df_add(add_val): df = pd.DataFrame({'A': ['A1', 'A2', 'A3'], 'B': ['B1', 'B2', 'B3'], 'C': ['C1', 'C2', 'C3']}, index=['ONE', 'TWO', 'THREE']) df['D'] = add_val return df result = df_add(0) print(result)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/09 15:02