<p>只需使用<code>groupby</code>方法并传递<code>level</code>参数:</p>
<pre><code>In [17]: df.head()
Out[17]:
1 2 4 5 6 7 8 9 10 \
3 0
Skop 2012-09-03 vardpolitik 30 30.3 6.5 4.1 2.9 33.5 6.0 9.8
Sifo 2012-09-03 vardpolitik 30 28.7 6.6 4.8 3.8 33.3 5.9 8.9
2012-12-03 vardpolitik 30 28.2 5.4 4.5 3.6 32.1 5.9 9.7
United Minds 2012-08-20 vardpolitik 30 27.8 5.8 3.3 4.7 33.1 6.9 8.6
YouGov 2012-11-07 vardpolitik 30 30.3 5.7 3.8 3.5 31.3 6.7 7.1
11 12 13 14 15
3 0
Skop 2012-09-03 6.3 1203 2020 501 166
Sifo 2012-09-03 7.2 1203 2020 501 166
2012-12-03 10.0 75 117 17 11
United Minds 2012-08-20 8.8 264 369 91 28
YouGov 2012-11-07 10.9 1138 1924 389 168
[5 rows x 14 columns]
In [18]: gb = df.groupby(level=0)
In [19]: gb.mean()
Out[19]:
2 4 5 6 7 8 9 10 11 \
3
Demoskop 30 33.5000 5.9000 2.9000 2.8 32.0 5.1 8.3000 8.6
Sifo 30 28.5667 5.8667 4.5667 3.6 32.5 6.1 9.5333 8.3
Skop 30 30.3000 6.5000 4.1000 2.9 33.5 6.0 9.8000 6.3
United Minds 30 27.8000 5.8000 3.3000 4.7 33.1 6.9 8.6000 8.8
YouGov 30 30.3000 5.7000 3.8000 3.5 31.3 6.7 7.1000 10.9
12 13 14 15
3
Demoskop 1700.0000 2602.0000 585.0000 293
Sifo 828.3333 1393.6667 340.3333 113
Skop 1203.0000 2020.0000 501.0000 166
United Minds 264.0000 369.0000 91.0000 28
YouGov 1138.0000 1924.0000 389.0000 168
[5 rows x 13 columns]
</code></pre>