text: Title: BUG: Exporting df as a ESRI shapefile error: Object of type 'float' has no len()  
  Body: - [x] I have checked that this issue has not already been reported.
  
  - [x] I have confirmed this bug exists on the latest version of geopandas.
  
  - [x] (optional) I have confirmed this bug exists on the main branch of geopandas.
  
  ---
  
  
  #### Code Sample, a copy-pastable example
  
  ```python
  # Your code here
  df.to_file(filename="test.shp", driver="ESRI Shapefile")
  ```
  
  #### Problem description
  
  The problem is occurred when the column name is an `float` type. Below is the Traceback,
  
  ```python
  Traceback (most recent call last):
    File "/opt/sdss/django/sdss/exposure/views.py", line 353, in downloadExposureResult
      df.to_file(filename=shp_path, driver='ESRI Shapefile')
    File "/home/sdss/.virtualenvs/sdss/lib/python3.8/site-packages/geopandas/geodataframe.py", line 1114, in to_file
      _to_file(self, filename, driver, schema, index, **kwargs)
    File "/home/sdss/.virtualenvs/sdss/lib/python3.8/site-packages/geopandas/io/file.py", line 376, in _to_file
      if driver == "ESRI Shapefile" and any([len(c) > 10 for c in df.columns.tolist()]):
    File "/home/sdss/.virtualenvs/sdss/lib/python3.8/site-packages/geopandas/io/file.py", line 376, in <listcomp>
      if driver == "ESRI Shapefile" and any([len(c) > 10 for c in df.columns.tolist()]):
  TypeError: object of type 'float' has no len()
  ```
  
  #### Expected Output
  
  It should write df into the shapefile.
  
  #### Output of ``geopandas.show_versions()``
  0.10.2
  
  [paste the output of ``geopandas.show_versions()`` here leaving a blank line after the details tag]
  
  </details>
  