<p>您可以将<code>value_counts</code>与<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.unstack.html" rel="nofollow noreferrer">^{<cd2>}</a>一起使用,谢谢<a href="https://stackoverflow.com/questions/42563209/how-to-count-subgroups-of-categorical-data-in-a-pandas-dataframe#comment72260873_42563259">Nickil Maveli</a>:</p>
<pre><code>from collections import Counter
print (df.groupby("franchise")['items'].value_counts().unstack(fill_value=0))
items bird cat dog fish
franchise
franchise_A 0 1 3 0
franchise_B 1 0 0 1
</code></pre>
<p>另一个带有<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.crosstab.html" rel="nofollow noreferrer">^{<cd3>}</a>和<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.pivot_table.html" rel="nofollow noreferrer">^{<cd4>}</a>的解决方案:</p>
^{pr2}$
<hr/>
<pre><code>print (df.pivot_table(index="franchise", columns='items', aggfunc='size', fill_value=0))
items bird cat dog fish
franchise
franchise_A 0 1 3 0
franchise_B 1 0 0 1
</code></pre>