【问题标题】:How to reshape dataframe after using pandas pivot table?使用熊猫数据透视表后如何重塑数据框?
【发布时间】:2021-12-31 10:17:33
【问题描述】:

我有以下数据框:

Date_Range | Agent | Team | Dial | OCC 
15thNov     | x | L1 | 1 | 0
15th Nov | y | L1  | 1 | 1
30th Dec | z | L2 | 1 | 1
30th Dec | z | L1 | 1 | 1
15th Nov | y | L2  | 1 | 1

日期范围 = 11 月 15 日或 11 月 30 日,它们是由另一列组成的字符串值 我执行以下操作

pd.pivot_table(df2, values=['dial','OCC'], index=['Team','agent'], columns='Date_Range', aggfunc='sum').reset_index()

预期的数据框

           15th Nov          30th Dec
           Dial    OCC       Dial    0CC
Team Agent
L1    x      4       2        3        1

我如何做到这一点?

我是否可以通过使用 pandas groupby 获得此信息?请帮忙

【问题讨论】:

  • 您只想拥有代理 x 吗?您的预期输出中的值是如何计算的?
  • 不,我希望所有代理团队都明智.. SUM 是我预期输出中的函数.. 团队中每个代理的连接和 OCC 总和。

标签: pandas group-by pivot-table


【解决方案1】:

IIUC,你可以使用:

pd.pivot_table(
    df2, values=['Dial','OCC'],
                   index=['Team','Agent'],
                   columns=['Date_Range'], aggfunc='sum')\
    .swaplevel(0, 1, axis=1)\
        .sort_index(axis=1)

Out[670]:
Date_Range     15th Nov      30th Dec     
               Dial  OCC     Dial  OCC
Team Agent                            
L1   x          1.0  0.0      NaN  NaN
     y          1.0  1.0      NaN  NaN
     z          NaN  NaN      1.0  1.0
L2   y          1.0  1.0      NaN  NaN
     z          NaN  NaN      1.0  1.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多