對比Excel 學(xué)習(xí)pandas數(shù)據(jù)透視表

Excel中做數(shù)據(jù)透視表

① 選中整個數(shù)據(jù)源;

② 依次點擊“插入”—“數(shù)據(jù)透視表”

③ 選擇在Excel中的哪個位置,插入數(shù)據(jù)透視表

④ 然后根據(jù)實際需求,從不同維度展示結(jié)果

⑤ 結(jié)果如下

pandas用pivot_table()做數(shù)據(jù)透視表

1)語法格式

pd.pivot_table(data,index=None,columns=None,
               values=None,aggfunc='mean',
               margins=False,margins_name='All',
               dropna=True,fill_value=None)

2)對比excel,說明上述參數(shù)的具體含義

參數(shù)說明:

  • data 相當于Excel中的"選中數(shù)據(jù)源";

  • index 相當于上述"數(shù)據(jù)透視表字段"中的行;

  • columns 相當于上述"數(shù)據(jù)透視表字段"中的列;

  • values 相當于上述"數(shù)據(jù)透視表字段"中的值;

  • aggfunc 相當于上述"結(jié)果"中的計算類型;

  • margins 相當于上述"結(jié)果"中的總計;

  • margins_name 相當于修改"總計"名,為其它名稱;

下面幾個參數(shù),用的較少,記住干嘛的,等以后需要就百度。

  • dropna 表示是否刪除缺失值,如果為True時,則把一整行全作為缺失值刪除;

  • fill_value 表示將缺失值,用某個指定值填充。

案例說明

1)求出不同品牌下,每個月份的銷售數(shù)量之和

① 在Excel中的操作結(jié)果如下

② 在pandas中的操作如下

df = pd.read_excel(r"pivot_table.xlsx")
display(df.sample(5))
df.insert(1,"月份",df["銷售日期"].apply(lambda x:x.month))
display(df.sample(5))
df1 = pd.pivot_table(df,index="品牌",columns="月份", values="銷售數(shù)量",aggfunc=np.sum)
display(df1)

結(jié)果如下:

2)求出不同品牌下,每個地區(qū)、每個月份的銷售數(shù)量之和

① 在Excel中的操作結(jié)果如下

② 在pandas中的操作如下

df = pd.read_excel(r"pivot_table.xlsx")
display(df.sample(5))
df.insert(1,"月份",df["銷售日期"].apply(lambda x:x.month))
display(df.sample(5)df1 = pd.pivot_table(df,index="品牌",columns=["銷售區(qū)域","月份"],values="銷售數(shù)量",aggfunc=np.sum)
display(df1)

結(jié)果如下:

3)求出不同品牌不同地區(qū)下,每個月份的銷售數(shù)量之和

① 在Excel中的操作結(jié)果如下

② 在pandas中的操作如下

df =pd.read_excel(r"pivot_table.xlsx")
display(df.sample(5))
df.insert(1,"月份",df["銷售日期"].apply(lambda x:x.month))
display(df.sample(5))
df1 = pd.pivot_table(df,index=["品牌","銷售區(qū)域"],columns="月份",values="銷售數(shù)量",aggfunc=np.sum)
display(df1)

結(jié)果如下:

4)求出不同品牌下的“銷售數(shù)量之和”與“貨號計數(shù)”

① 在Excel中的操作結(jié)果如下

② 在pandas中的操作如下

df =pd.read_excel(r"pivot_table.xlsx")
display(df.sample(5))
df.insert(1,"月份",df["銷售日期"].apply(lambda x:x.month))
display(df.sample(5))
df1 = pd.pivot_table(df,index="品牌",columns="月份",values=["銷售數(shù)量","貨號"],aggfunc={"銷售數(shù)量":"sum","貨號":"count"},margins=True,margins_name="總計")
display(df1)

結(jié)果如下:

學(xué)習(xí)來源

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容