【问题标题】:Pandas: pivot a dataframe [duplicate]熊猫:旋转数据框[重复]
【发布时间】:2012-07-23 23:05:53
【问题描述】:

提前为超级新手问题道歉。

我正在学习使用 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

我想为每个 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']) 开头的东西,但我不确定如何将行连接回来,以及是否有任何方法可以创建新的列名.

谢谢!

【问题讨论】:

    标签: python pandas


    【解决方案1】:
    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
    

    【讨论】:

      猜你喜欢
      • 2022-01-21
      • 2012-07-09
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多