title: pandas distribution table grouped by all columns
body: <p>I have a <strong>pandas</strong> data frame like the following, I want to aggregate and get distribution for each unique record:     </p>
  
  <pre><code>      col1   col2    col3  
  0       1      3       0  
  1       1      2       0  
  2       1      2       0  
  3       1      5       1  
  4       1      3       1  
  5       1      5       0  
  </code></pre>
  
  <p>I would like to get the get a data frame like the following:</p>
  
  <pre><code>       col1   col2    col3   distribution
  0       1      3       0         0.166
  1       1      3       1         0.166
  2       1      2       0         0.333
  3       1      5       1         0.166
  4       1      5       0         0.166
  </code></pre>
  
  <p>is there a simple way to do this?</p>