<h3>设置</h3>
<pre><code>from StringIO import StringIO
import pandas as pd
text = '''time,name,f1,value
20 May 2016 14:00:00 -0700,John,badL,2
19 May 2016 18:00:00 -0700,John,badL,1
17 May 2016 11:00:00 -0700,John,badL,1
20 May 2016 14:00:00 -0700,John,totalL,20
19 May 2016 18:00:00 -0700,John,totalL,15
17 May 2016 11:00:00 -0700,John,totalL,12
'''
df = pd.read_csv(StringIO(text))
print df
time name f1 value
0 20 May 2016 14:00:00 -0700 John badL 2
1 19 May 2016 18:00:00 -0700 John badL 1
2 17 May 2016 11:00:00 -0700 John badL 1
3 20 May 2016 14:00:00 -0700 John totalL 20
4 19 May 2016 18:00:00 -0700 John totalL 15
5 17 May 2016 11:00:00 -0700 John totalL 12
</code></pre>
<h3>使用<code>unstack</code></h3>
^{pr2}$
<p>然后取消堆叠以执行旋转。它获取行索引的一部分并将其移动为列。在</p>
<pre><code>print df.unstack()
value
f1 badL totalL
time name
17 May 2016 11:00:00 -0700 John 1 12
19 May 2016 18:00:00 -0700 John 1 15
20 May 2016 14:00:00 -0700 John 2 20
</code></pre>
<hr/>
<p>在精神上,这是一个相同的解决方案亚基姆皮罗琴科。只是一个稍微不同的方法。这对我来说更直观,但对你可能不是。在</p>