title: Impute entire DataFrame (all columns) using Scikit-learn (sklearn) without iterating over columns
body: <p>I want to impute all of the columns on a pandas DataFrame...the only way I can think of doing this is column by column as shown below...</p>
  
  <p><strong>Is there an operation where I can impute the entire DataFrame without iterating through the columns?</strong> </p>
  
  <pre><code>#!/usr/bin/python
  from sklearn.preprocessing import Imputer
  import numpy as np
  import pandas as pd
  
  #Imputer
  fill_NaN = Imputer(missing_values=np.nan, strategy='mean', axis=1)
  
  #Model 1
  DF = pd.DataFrame([[0,1,np.nan],[2,np.nan,3],[np.nan,2,5]])
  DF.columns = "c1.c2.c3".split(".")
  DF.index = "i1.i2.i3".split(".")
  
  #Impute Series
  imputed_DF = DF
  for col in DF.columns:
      imputed_column = fill_NaN.fit_transform(DF[col]).T
      #Fill in Series on DataFrame
      imputed_DF[col] = imputed_column
  
  #DF
  #c1  c2  c3
  #i1   0   1 NaN
  #i2   2 NaN   3
  #i3 NaN   2   5
  
  #imputed_DF
  #c1   c2  c3
  #i1   0  1.0   4
  #i2   2  1.5   3
  #i3   1  2.0   5
  </code></pre>