title: Unique Values per row in Pandas groupby
body: <p>I have a simple <code>dataframe</code> (df) like shown below:</p>
  <pre><code>index Job  Person 
  1     j1   Cathy
  2     j2   Mark
  3     j3   Cathy
  4     j4   Steve
  5     j5   Cathy
  6          Cathy
  7     j1   Cathy
  </code></pre>
  <p>I would like to convert the above <code>dataframe</code> as:</p>
  <pre><code>Person CountJob  JobDetails
  Cathy     4      j1;j3;j5
  Mark      1      j2
  Steve     1      j4
  </code></pre>
  <p>i.e, drop the <strong>Nulls</strong> and join <strong>Unique</strong> jobs for each person.</p>
  <p>I can partially solve this using <code>groupby</code> :</p>
  <pre><code>df.groupby('Person').agg(CountJob=('Job','count'),
                           JobDetails=('Job',lambda x: ';'.join(x.dropna()))
                          )
  </code></pre>
  <p>I am able to drop null values but can't seem to get unique values; in the above example, for '<em><strong>Cathy</strong></em>', '<em><strong>JobDetails</strong></em>' becomes <code>j1;j3;j5;j1</code></p>