Pandas数据透视表不进行汇总 [英] Pandas Pivot table without aggregating

查看:135
本文介绍了Pandas数据透视表不进行汇总的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据框 df 为:

Acct_Id  Acct_Nm   Srvc_Id   Phone_Nm   Phone_plan_value   Srvc_Num
51       Roger     789       Pixel      30                 1
51       Roger     800       iPhone     25                 2
51       Roger     945       Galaxy     40                 3
78       Anjay     100       Nokia      50                 1
78       Anjay     120       Oppo       30                 2
32       Rafa      456       HTC        35                 1

我想转换数据帧,所以我每个 Acct_Id Acct_Nm 可以有1行,例如:

I want to transform the dataframe so I can have 1 row per Acct_Id and Acct_Nm as:

    Acct_Id   Acct_Nm    Srvc_Num_1                             Srvc_Num_2                              Srvc_Num_3
                         Srvc_Id   Phone_Nm   Phone_plan_value  Srvc_Id   Phone_Nm   Phone_plan_value   Srvc_Id   Phone_Nm   Phone_plan_value
          51  Roger      789       Pixel      30                800       iPhone     25                 945       Galaxy     40
          78  Anjay      100       Nokia      50                120       Oppo       30
          32  Rafa       456       HTC        35

我不确定如何在熊猫中实现相同的功能。

I am not sure how to achieve the same in pandas.

推荐答案

如何:

df.set_index(['Acct_Id', 'Acct_Nm', 'Srvc_Num']).unstack().swaplevel(0, 1, axis = 1).sort_index(axis = 1)

这篇关于Pandas数据透视表不进行汇总的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆