首页 > 解决方案 > 数据透视表无法获得与 excel 相同的输出

问题描述

我在下面有一个数据框:

Year  Material  Total_amount Customer_code
2019  Table     20           00147
2019  Chair     25           00159
2019  Table     20           00160 
2020  Table     20           00159
2020  Spoon     2            00147     
2020  Fork      2            00147   

我正在努力寻找不断回来的客户

cust = (pd.pivot_table(sd_df, 
                         values=['Total Amount','Customer Code'], 
                         index=['Year'], 
                         aggfunc=[np.sum, len]).reset_index()
         )
cust

我这样做了,但它给了我这个

在此处输入图像描述

编辑:我正在尝试获取总金额和客户代码计数的总和。

任何帮助表示赞赏。谢谢!

标签: pythonpython-3.xgroup-bypivot-table

解决方案


您可以使用DataFrame.groupby

print(
    df.groupby('Year').agg(**{
        "Sum_Total_Amount": ('Total_amount', 'sum'),
        "Count_Cust_Code": ('Customer_code', 'nunique'),
    }).reset_index()
)

   Year  Sum_Total_Amount  Count_Cust_Code
0  2019                65                3
1  2020                24                2

推荐阅读