回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个这样的数据帧:</p>
<pre><code>name = ['fred','fred','fred','james','james','rick','rick','jeff']
actionfigures = ['superman','batman','flash','greenlantern','flash','batman','joker','superman']
cars = ['lamborghini', 'ferrari','bugatti','ferrari','corvette','bugatti','bmw','bmw']
pets = ['cat','dog','bird','cat','dog','dog','fish','marmet']
test = pd.DataFrame({'name':name,'actfig':actionfigures,'car':cars,'pet':pets})
actfig car name pet
0 superman lamborghini fred cat
1 batman ferrari fred dog
2 flash bugatti fred bird
3 greenlantern ferrari james cat
4 flash corvette james dog
5 batman bugatti rick dog
6 joker bmw rick fish
7 superman bmw jeff marmet
</code></pre>
<p>如果我的术语不正确,请原谅,但是我想转换数据,以便在['actionfigures'、'car'、'pet']列中为每个名称获取每个值的计数。在</p>
^{pr2}$
<p>我本以为<code>test.pivot_table(index='name',columns=['actfig','car','pet'],aggfunc='size'])</code>就能做到,但它给了我一些奇怪的多级列。在</p>
<p>我想也许我可以为每一列合并<code>get_dummies</code>,然后按名称和总和分组,但感觉pandas prob有更好的方法。在</p>
<p>怎么做呢?在</p>