title: Delete and release memory of a single pandas dataframe
body: <p>I am running a long ETL pipeline in pandas. I have to create different pandas dataframes and I want to release memory for some of the dataframes.</p>
  <p>I have been reading how to release memory and I saw that runing this command doesn't release the memory:</p>
  <pre><code>del dataframe
  </code></pre>
  <p>Following this link: <a href="https://stackoverflow.com/questions/32247643/how-to-delete-multiple-pandas-python-dataframes-from-memory-to-save-ram">How to delete multiple pandas (python) dataframes from memory to save RAM?</a>, one of the answer say that del statement does not delete an instance, it merely deletes a name.</p>
  <p>In the answer they say about put the dataframe in a list and then del the list:</p>
  <pre><code>lst = [pd.DataFrame(), pd.DataFrame(), pd.DataFrame()]
  del lst  
  </code></pre>
  <p>If I only want to release one dataframe I need to put it in a list and then delete a list like this:</p>
  <pre><code>lst = [pd.DataFrame()]
  del lst
  </code></pre>
  <p>I have seen also this question: <a href="https://stackoverflow.com/questions/39100971/how-do-i-release-memory-used-by-a-pandas-dataframe">How do I release memory used by a pandas dataframe?</a></p>
  <p>There are different answers like:</p>
  <pre><code>import gc
  del df_1
  gc.collect()
  </code></pre>
  <p>Or</p>
  <p>just at the end of the dataframe use</p>
  <pre><code>df = &quot;&quot;
  </code></pre>
  <p>or there is a better way to achieve that?</p>