title: ColumnTransformer fails with CountVectorizer in a pipeline
body: <p>I'm trying to transform text using <code>sklearn</code>'s <code>CountVectorizer</code> within pipelines combined with <code>ColumnTransformer</code>. However, the pipeline returns an incorrect array. Why is my pipeline with <code>ColumnTransformer</code> giving me a wrong 1-by-1 array for <code>CountVectorize</code>-d text?</p>
  
  <p>I realize I could simply use a single pipeline with <code>CountVectorizer</code>, and omit <code>ColumnTransformer</code>. However, later I will need to add numeric columns, making <code>ColumnTransformer</code> necessary. I tried this originally, found errors, and isolated the issue to the problem described above.</p>
  
  <p>I've tried inputting <code>X</code> as a series instead of a dataframe, but got another error: <code>IndexError: tuple index out of range</code></p>
  
  <pre class="lang-py prettyprint-override"><code>data = pd.DataFrame(data={'text_feat':['This is my first sentence.','This is my second.'], 
                            'numeric_feat':[1,2], 
                            'target':[3,4]})
  X = data.loc[:,['text_feat', 'numeric_feat']]
  y = data.loc[:,'target']
  
  # first pipeline 
  text_features = ['text_feat']
  text_transformer = Pipeline(
          steps = [('vec', CountVectorizer())])
  
  # wrap in ColumnTransformer
  preprocessor = ColumnTransformer(
          transformers=[('text', text_transformer, text_features)])
  
  # second pipeline
  pipeline = Pipeline(steps=[('preprocessor', preprocessor)])
  
  # single pipeline works as expected
  X_expected = text_transformer.fit_transform(X['text_feat'])
  
  # but this fails
  X_test = pipeline.fit_transform(X)
  
  print('Expected:')
  print(X_expected.toarray())
  print('Got:')
  print(X_test)
  </code></pre>
  
  <p>I expected the 2-by-6 array <code>array([[1, 1, 1, 0, 1, 1], [0, 1, 1, 1, 0, 1]])</code> (document-term matrix from CountVectorizer). Instead, I got this: <code>array([[1]])</code>. Any idea?</p>