title: Parsing key-value pairs into DataFrame columns
body: <p>I have key-value pairs that are nested row-wise in a pandas Series. What's the most efficient/optimized way to split them into individual columns? (I can unzip and do transformations, but what's the <em>best</em> way?)</p>
  
  <p>I do <strong><em>not</em></strong> know:</p>
  
  <ul>
  <li>Key names beforehand</li>
  <li>Number of keys in each record </li>
  <li>Order of keys in each record</li>
  </ul>
  
  <p>The rows are a list of unicode strings. Once extracted, values will always be bigint. </p>
  
  <p>Input:</p>
  
  <pre><code>parsedSeries.head()
  
  0 [key1=774, key2=238]
  1 [key1=524, key2=101, key3=848]
  2 [key3=843]
  3 [key1=232, key3=298, key2=457]
  </code></pre>
  
  <p>Expected output:</p>
  
  <pre><code>record   key1   key2   key3
  0        774    238    NAN
  1        524    101    848
  2        NAN    NAN    843
  3        232    457    298
  </code></pre>
  
  <p>Note that the input consists of lists containing Unicode strings of the format <code>u"X=Y"</code> where <code>X</code> is assumed to adhere to any required conventions for serving as the name of an attribute in Python, and <code>Y</code> can always be interpreted as an integer. For example, the following can be used to construct the sample data above:</p>
  
  <pre><code>pandas.Series([[u"key1=774", u"key2=238"],
                 [u"key1=524", u"key2=101", u"key3=848"],
                 [u"key3=843"],
                 [u"key1=232", u"key3=298", u"key2=457"]])
  </code></pre>