import pandas as pd
df=pd.read_excel(r'd:\mypythontest\citysale.xlsx',sheet_name=0)
print(df)
print(df.groupby("客戶分類").count()) #分組計數
print(df.groupby(["客戶分類","區域"]).count()) #多列分組計數
print(df.groupby(["客戶分類","區域"]).sum()) #多列分組求和
print(df.groupby(["客戶分類","區域"])['7月銷量','8月銷量','9月銷量'].sum()) #多列分組求和,顯示指定列
print(df.groupby("客戶分類").aggregate(["count","sum"])) #aggregate一次完成數個運算
print(df.groupby("客戶分類").aggregate({"使用者ID":"count","7月銷量":"sum","8月銷量":"sum"}))
print(df.groupby("客戶分類").sum()) #分組求和--聚合
print(df.groupby("客戶分類").sum().reset_index()) #重置索引
print(pd.pivot_table(df,values="使用者ID",columns="區域",index="客戶分類",aggfunc='count',margins=True,margins_name="總計"))
#data-資料來源 values-將要分類統計的值 columns-作為列標題 index-作為行標題 aggfunc-計算方法 margins-顯示合計 margins_name-名稱
print(pd.pivot_table(df,values="使用者ID",columns="區域",index="客戶分類",aggfunc='count',fill_value=0)) #將NaN該填為0
print(pd.pivot_table(df,values=["使用者ID","7月銷量"],columns="區域",index="客戶分類",
aggfunc={"使用者ID":"count","7月銷量":"sum"}).reset_index())
#aggfunc的引數可以是一個字典,鍵為列名,值為計算方式