title: SciKit-Learn Label Encoder resulting in error 'argument must be a string or number'
body: <p>I'm a bit confused - creating an ML model here.</p>
  
  <p>I'm at the step where I'm trying to take categorical features from a "large" dataframe (180 columns) and one-hot them so that I can find the correlation between the features and select the "best" features. </p>
  
  <p>Here is my code:</p>
  
  <pre><code># import labelencoder
  from sklearn.preprocessing import LabelEncoder
  
  # instantiate labelencoder object
  le = LabelEncoder()
  
  # apply le on categorical feature columns
  df = df.apply(lambda col: le.fit_transform(col))
  df.head(10)
  
  </code></pre>
  
  <p>When running this I get the following error: </p>
  
  <p><code>TypeError: ('argument must be a string or number', 'occurred at index LockTenor')</code></p>
  
  <p>So I head over to the LockTenor field and look at all the distinct values:</p>
  
  <pre><code>df.LockTenor.unique()
  </code></pre>
  
  <p>this results in the following: </p>
  
  <p><code>array([60.0, 45.0, 'z', 90.0, 75.0, 30.0], dtype=object)</code></p>
  
  <p>looks like all strings and numbers to me. Is the error caused because it's a float and not necessarily an INT? </p>