title: Impute categorical missing values in scikit-learn
body: <p>I've got pandas data with some columns of text type. There are some NaN values along with these text columns. What I'm trying to do is to impute those NaN's by <code>sklearn.preprocessing.Imputer</code> (replacing NaN by the most frequent value). The problem is in implementation.
  Suppose there is a Pandas dataframe df with 30 columns, 10 of which are of categorical nature.
  Once I run:</p>
  
  <pre><code>from sklearn.preprocessing import Imputer
  imp = Imputer(missing_values='NaN', strategy='most_frequent', axis=0)
  imp.fit(df) 
  </code></pre>
  
  <p>Python generates an <code>error: 'could not convert string to float: 'run1''</code>, where 'run1' is an ordinary (non-missing) value from the first column with categorical data.</p>
  
  <p>Any help would be very welcome</p>