<p>前面的答案非常适合<code>pandas >= 0.25</code>,因为<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.explode.html" rel="nofollow noreferrer">Series.explode</a>只在0.25.0版本的更高版本中工作。例如,我使用的是0.24.2的pandas版本</p>
<p>顺便说一下,您可以尝试了解您的熊猫和相关软件包版本:</p>
<pre><code>pd.show_versions()
</code></pre>
<p>因此,您可能对以下解决方案感兴趣,而不考虑熊猫版本</p>
<pre><code>counts = (df.reset_index(df.columns.drop('preferred_dishes',1).tolist())
.preferred_dishes.str.replace('[', '')
.str.replace(']', '')
.str.split(',', expand=True)
.stack()
.value_counts()
)
counts
</code></pre>
<p>输出:</p>
<pre><code> Lanches 3
Comida Brasileira 3
Comida Japonesa 2
Fruto... 1
Salgados 1
Pizza 1
Comida Chinesa 1
Comida Variada 1
Comida Italiana 1
dtype: int64
</code></pre>
<p>或者,更简单地说:</p>
<pre><code>counts = pd.Series(df.preferred_dishes.str.replace('[', '')
.str.replace(']', '')
.str.split(',').sum()).value_counts()
counts
</code></pre>
<p>输出:</p>
<pre><code> Lanches 3
Comida Brasileira 3
Comida Japonesa 2
Fruto... 1
Salgados 1
Pizza 1
Comida Chinesa 1
Comida Variada 1
Comida Italiana 1
dtype: int64
</code></pre>