title: Convert columns from a dictionary of dataframes to strings
body: <p>I am trying to convert all columns in all dataframes contained in a dictionary structure, from object to string, in order to apply a cleaning function over strings.</p>
  <pre><code># each key represents a dataframe:
  # iterate over each dataframe and convert all columns to strings
  
  import pandas as pd
  
  
  data = {'dataframe_1':pd.DataFrame({'col1': ['John', 'Ashley'], 'col2': ['+10', '-1']}), 'dataframe_2':pd.DataFrame({'col3': ['Italy', 'Brazil', 'Japan'], 'col4': ['Milan', 'Rio do Jaineiro', 'Tokio'], 'percentage':['+95%', '≤0%', '80%+']})}
  
  for key in data:
       data[key].astype(str)
  </code></pre>
  <p>However, after applying the above code and given <code>data['dataframe_1'].info()</code>, <code>object</code> columns remain <code>object</code> instead of <code>string</code>:</p>
  <pre><code>#&lt;class 'pandas.core.frame.DataFrame'&gt;
  #RangeIndex: 2 entries, 0 to 1
  #Data columns (total 2 columns):
  # #   Column  Non-Null Count  Dtype 
  #---  ------  --------------  ----- 
  # 0   col1    2 non-null      object
  # 1   col2    2 non-null      object
  #dtypes: object(2)
  #memory usage: 160.0+ bytes
  </code></pre>
  <p>What am I missing?</p>