问题描述
我在下面有一个数据框:
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
我这样做了,但是这给了我
编辑:我试图获取总金额和客户代码总数。
感谢您的帮助。谢谢!
解决方法
您可以使用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