title: Pandas: Convert lists within a single column to multiple columns
body: <p>I have a dataframe that includes columns with multiple attributes separated by commas:  </p>
  
  <p><code>df = pd.DataFrame({'id': [1,2,3], 'labels' : ["a,b,c", "c,a", "d,a,b"]})</code></p>
  
  <pre><code>   id   labels
  0   1   a,b,c
  1   2   c,a
  2   3   d,a,b
  </code></pre>
  
  <p>(I know this isn't an ideal situation, but the data originates from an external source.)  I want to turn the multi-attribute columns into multiple columns, one for each label, so that I can treat them as categorical variables. Desired output:</p>
  
  <pre><code>    id  a       b       c       d   
  0    1  True    True    True    False   
  1    2  True    False   True    False   
  2    3  True    True    False   True
  </code></pre>
  
  <p>I can get the set of all possible attributes (<code>[a,b,c,d]</code>) fairly easily, but cannot figure out a way to determine whether a given row has a particular attribute without row-by-row iteration for each attribute.  Is there a better way to do this?</p>