title: Pandas Series identifying number of consecutive consonants
body: <p>Given a <code>Series</code> of strings, I'm trying to calculate a new <code>Series</code> which contains the highest consecutive count of consonants in the original string, ignoring spaces.</p>
  
  <p>For example, given <code>df['names']</code>, I'd like to determine <code>df['max_consonants']</code> like below:</p>
  
  <pre><code>In [1]: df
  Out[1]:
                 names max_consonants
  0       will hunting              2
  1       sean maguire              1
  2     gerald lambeau              2
  3   chuckie sullivan              2
  4    mike krzyzewski              5
  </code></pre>
  
  <p>Outside of <code>pandas</code>, I am able to do this using the <code>re</code> module, like so: </p>
  
  <pre><code>In [2]: def max_consonants(s):
               return max(len(i) for i in re.findall(r'[^aeiou ]+', s))
  
  In [3]: max_consonants('mike krzyzewski')
  Out[3]: 5
  </code></pre>
  
  <p>I know I can use <code>pd.Series.apply</code> to use the <code>max_consonants</code> function on a <code>Series</code>, but it is not vectorized.  I am working with data containing 2-3mm rows/names, so I am looking for the most efficient solution.  </p>
  
  <p>Is there a more elegant solution native to <code>pandas</code> that would allow me to take advantage of vectorization?</p>