title: Summarize dataframe by grouping on a column with pandas
body: <p>i have a dataframe</p>
  
  <pre><code>id  store  val1    val2
  1    abc    20      30
  1    abc    20      40
  1    qwe    78      45
  2    dfd    34      45
  2    sad    43      45
  </code></pre>
  
  <p>from this i have to group by on <code>id</code> and create a new df, with column, <code>total_store</code> and <code>unique stores</code> and <code>non-repeating_stores</code>, which contains count of such store occurances.
  my final output should be</p>
  
  <pre><code>id    total_store    unique stores    non-repeating_stores
  1        3              2                   1
  2        2              2                   2
  </code></pre>
  
  <p>i can get total stores by doing</p>
  
  <pre><code>df.groupby('id')['store'].count()
  </code></pre>
  
  <p>But how do i get others and form a dataframe out of it</p>