【问题标题】:Pivot table unable to get same output as excel数据透视表无法获得与 excel 相同的输出
【发布时间】:2020-08-16 09:06:39
【问题描述】:

我在下面有一个数据框:

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

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

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

感谢任何帮助。谢谢!

【问题讨论】:

  • 我看不到如何从您包含在问题中的数据中获取任何结果。您似乎从比问题中包含的更多数据生成了两个结果。在 Pandas 和 Excel 中,仅从您的问题中包含的数据中得到什么输出?
  • 嗨,卢克,我使用相同的数据集,两者的数据量相等。基本上我试图获得与excel相同的格式。与所有客户代码的总金额和计数的总和

标签: python python-3.x group-by pivot-table


【解决方案1】:

您可以使用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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    相关资源
    最近更新 更多