title: OneHotEncoder on multiple columns belonging to same categories
body: <p>I have multiple columns consisting of categorical variables which are in the form of integer values ranging from 0-4. But, all columns belong to the same category. I tried using OneHotEncoder from scikit learn but it does not take care of missing categories in the column, which would cause problems when I test unseen data on my neural network model. Below code shows the kind of data I need to encode</p>
  
  <pre><code>&gt;&gt;&gt; df = pd.DataFrame(np.random.randint(low=0, high=4, size=(5, 5)),
                         columns=['color1', 'color2', 'color3', 'color4', 'color5'])
  &gt;&gt;&gt; df
  
     color1  color2  color3  color4  color5
  0       0       1       2       3       1
  1       3       1       0       1       1
  2       0       1       0       3       0
  3       0       2       0       1       2
  4       0       2       0       3       2
  
  &gt;&gt;&gt; df_onehotencoder = OneHotEncoder(sparse=False)
  &gt;&gt;&gt; df2 = df_onehotencoder.fit_transform(df)
  
  &gt;&gt;&gt; df2
  
  array([[1., 0., 1., 0., 0., 1., 0., 1., 0., 1., 0.],
         [0., 1., 1., 0., 1., 0., 1., 0., 0., 1., 0.],
         [1., 0., 1., 0., 1., 0., 0., 1., 1., 0., 0.],
         [1., 0., 0., 1., 1., 0., 1., 0., 0., 0., 1.],
         [1., 0., 0., 1., 1., 0., 0., 1., 0., 0., 1.]])
  </code></pre>
  
  <p>This produces and array for each column only for the categories present in that column, and not for the missing categories. I need to have equal number of encoded columns for each column i.e. the missing category will be all zeroes then. Also, what would be the best option to decode this OneHotEncoded array so I could decode the predicted output into actual integer values easily.</p>