擅长:python、mysql、java
<pre><code>import pandas as pd
</code></pre>
<p>您可以通过<code>explode()</code>、<code>value_counts()</code>和<code>fillna()</code>方法执行此操作:</p>
<pre><code>data=df.explode('department').fillna('empty')
</code></pre>
<p>现在使用<code>crosstab()</code>方法:</p>
<pre><code>data=pd.crosstab(data['customer_id'],data['department'])
</code></pre>
<p>由于<code>concat()</code>方法会给您一个错误,所以请使用<code>merge()</code>方法和<code>drop()</code>方法:</p>
<pre><code>data=pd.merge(df.set_index('customer_id'),data,left_index=True,right_index=True).drop(columns=['empty'])
</code></pre>
<p>现在,如果您打印<code>data</code>,您将获得所需的输出:</p>
<p><a href="https://i.stack.imgur.com/K23tF.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/K23tF.png" alt="enter image description here"/></a></p>