title: Pandas infer_objects() doesn't convert string columns to numeric
body: <p>I have a data source where all the values are given as strings. When I create a Pandas dataframe from this data, all the columns are naturally of type <code>object</code>. I then want to let Pandas <strong>automatically</strong> convert any columns that look like numbers into a numeric types (e.g. <code>int64</code>, <code>float64</code>). </p>
  
  <p>Pandas supposedly provides a function to do this automatic type inferencing: <a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.infer_objects.html" rel="noreferrer"><code>pandas.DataFrame.infer_objects()</code></a>. It's also mentioned in <a href="https://stackoverflow.com/a/28648923/4561314">this StackOverflow post</a>. The documentation says:</p>
  
  <blockquote>
    <p>Attempts soft conversion of object-dtyped columns, leaving non-object and unconvertible columns unchanged. The inference rules are the same as during normal Series/DataFrame construction.</p>
  </blockquote>
  
  <p>However, the function is not working for me. In the reproducible example below, I have two string columns (<code>value1</code> and <code>value2</code>) that unambiguously look like <code>int</code> and <code>float</code> values, respectively, but <code>infer_objects()</code> does not convert them from string to the appropriate numeric types.</p>
  
  <pre class="lang-py prettyprint-override"><code>import pandas as pd
  
  # Create example dataframe.
  data = [ ['Alice', '100', '1.1'], ['Bob', '200', '2.1'], ['Carl', '300', '3.1']]
  df = pd.DataFrame(data, columns=['name', 'value1', 'value2'])
  
  print(df)
  
  #     name value1 value2
  # 0  Alice    100    1.1
  # 1    Bob    200    2.1
  # 2   Carl    300    3.1
  
  print(df.info())
  
  # Data columns (total 3 columns):
  #  #   Column  Non-Null Count  Dtype 
  # ---  ------  --------------  ----- 
  #  0   name    3 non-null      object
  #  1   value1  3 non-null      object
  #  2   value2  3 non-null      object
  # dtypes: object(3)
  
  df = df.infer_objects() # Should convert value1 and value2 columns to numerics.
  
  print(df.info())
  
  # Data columns (total 3 columns):
  #  #   Column  Non-Null Count  Dtype 
  # ---  ------  --------------  ----- 
  #  0   name    3 non-null      object
  #  1   value1  3 non-null      object
  #  2   value2  3 non-null      object
  # dtypes: object(3)
  </code></pre>
  
  <p>Any help would be appreciated.</p>