首页 > 解决方案 > 使用 groupby Pandas 从两个数据框中连接分类和数字列

问题描述

以下是从 CSV 文件生成报告所需的格式

User_Name Disposition_Code   Call_Received Calls Abandoned
0   person1           Solved      2            4
1   person2           Solved      1            4
2   person1           Solved      2            3
3   person2       Not_Solved      1            1
4   person3           Solved      11           0


total_record = test.groupby("User Name").agg({"Calls_Received": ['sum']
                                                 , "Calls Abandoned": ['sum']
                                                 , "Total Served In Target %": ['mean']
                                                 , "Total Served After Target": ['sum']})```

结果是


User_Name Calls_Received Calls Abandoned
person 1      4                 7
person 2      2                 5
person 3      11                0 

现在我想添加


User_Name Calls_Received Calls Abandoned Solved Not_Solved
person 1      4                 7           2       0
person 2      2                 5           1       1
person 3      11                0           1       0

请帮忙

标签: pandasdataframegroup-by

解决方案


DataFrame.join与 一起使用crosstab

total_record = total_record.join(pd.crosstab(test['User_Name'], test['isposition_Code']))

推荐阅读