title: Best way to create a 3-way Venn Diagram comparing Dataframes?
body: <p>I have 3 different dataframes with a group of codes and categories. Between these 3 I am effectively trying to determine where there is overlap on a number/category level. The best way I can describe my desired end result is to have a 3 circle venn diagram labeling codes/categories where all 3 match, just 2 overlap, and just within 1 of them.</p>
  
  <pre><code>d1 = pd.DataFrame({"num": [1,2,3,4], "cat": ["cat1", "cat2", "cat3", "cat4"]})
  d2 = pd.DataFrame({"num": [3,4,5,6], "cat": ["cat1", "cat1", "cat3", "cat4"]})
  d3 = pd.DataFrame({"num": [1,2,5,6], "cat": ["cat1", "cat2", "cat3", "cat4"]})
  </code></pre>
  
  <p>desired output:</p>
  
  <pre><code>d1/2/3: count unique to d1/2/3 only
  d1 and d2 no d3: count in d1 and d2 but not in d3
  d1 and d3 no d2: count in d1 and d3 but not in d2
  </code></pre>
  
  <p>....</p>
  
  <p>The best way I have come up with doing this is to create a concatenated column of num/cat and then inner joining each of the dataframes separately and counting the results but I am hoping there is a better, easier way to do this.</p>