<p>因为这些已经是频率计数了,所以我们可以假设我们有唯一的<code>Question</code>/<code>Opinion</code>对。因此,我们可以使用<code>set_index</code>和<code>unstack</code>,因为不需要聚合。这将节省我们一些时间和效率。我们可以用<code>pivot</code>来实现同样的目标,但是<code>pivot</code>没有一个<code>fill_value</code>选项来保存<code>dtype</code></p>
<pre><code>df.set_index(['A', 'B']).C.unstack(fill_value=0)
B Agree Disagree Strongly Agree Strongly Disagree
A
I am motivated 4 6 5 0
I am open-minded 4 4 0 3
</code></pre>
<hr/>
<p>额外学分
<em>将<code>'B'</code>转换为<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Categorical.html" rel="nofollow noreferrer"><strong>^{<cd10>}</strong></a>,列将被排序</em></p>
<pre><code>df.B = pd.Categorical(
df.B, ['Strongly Disagree', 'Disagree', 'Agree', 'Strongly Agree'], True)
df.set_index(['A', 'B']).C.unstack(fill_value=0)
B Strongly Disagree Disagree Agree Strongly Agree
A
I am motivated 0 6 4 5
I am open-minded 3 4 4 0
</code></pre>