2012-07-25 173 views
3

为超级新手提前道歉。大熊猫:支持数据框

我正在学习用大熊猫,并有这个简单的操作,我无法弄清楚如何执行:

,我有以下的数据帧:

print df 
Out[19]: 
USERNAME REQUEST_TYPE STATUS LATENCY 
0  foo    1 SUCCESS  7 
1  foo    2 SUCCESS  17 
2  bar    1 SUCCESS  10 
3  bar    2 FAILURE  12 

我想每个USERNAME有一行,这是每个REQUEST_TYPE的STATUS和LATENCY列的连接 。输出应该是这样的:

USERNAME STATUS_1 LATENCY_1  STATUS_2 LATENCY_2 
0  foo SUCCESS  7   SUCCESS  17 
1  bar SUCCESS  10   FAILURE  12 

我想到了什么开始pandas.groupby(DF,[“USERNAME”,“REQUEST_TYPE”]),但我不知道如何行串联回来,是否有任何方法可以创建新的列名。

谢谢!

回答

5
b = df.pivot('USERNAME', 'REQUEST_TYPE') 
b.columns = ['{0}_{1}'.format(*col) for col in b.columns] 

b现在是:

  LATENCY_1 LATENCY_2 STATUS_1 STATUS_2 
USERNAME          
bar    10  12 SUCCESS FAILURE 
foo    7  17 SUCCESS SUCCESS 
+0

太好了!非常感谢! – 2012-07-25 14:07:10