为超级新手问题提前道歉.
我正在学习使用pandas,并且有这个简单的操作,我无法弄清楚如何执行:
我有以下数据框:
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
Run Code Online (Sandbox Code Playgroud)
我希望每个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
Run Code Online (Sandbox Code Playgroud)
我想到了以pandas.groupby(df,['USERNAME','REQUEST_TYPE'])开头的东西,但我不知道如何连接回来的行,以及是否有任何方法可以创建新的列名.
谢谢!
b = df.pivot('USERNAME', 'REQUEST_TYPE')
b.columns = ['{0}_{1}'.format(*col) for col in b.columns]
Run Code Online (Sandbox Code Playgroud)
b 就是现在:
LATENCY_1 LATENCY_2 STATUS_1 STATUS_2
USERNAME
bar 10 12 SUCCESS FAILURE
foo 7 17 SUCCESS SUCCESS
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
524 次 |
| 最近记录: |