對比Excel,學(xué)習(xí)pandas數(shù)據(jù)透視表
↑↑↑關(guān)注后"星標(biāo)"簡說Python
人人都可以簡單入門Python、爬蟲、數(shù)據(jù)分析 簡說Python推薦 來源:凹凸數(shù)據(jù) 作者:黃同學(xué)
大家好,我是老表,今天給大家分享下Excel里的透視表操作,以及如何利用python實(shí)現(xiàn),記得看完點(diǎn)贊。
Excel中做數(shù)據(jù)透視表
① 選中整個(gè)數(shù)據(jù)源;
② 依次點(diǎn)擊“插入”—“數(shù)據(jù)透視表”
③ 選擇在Excel中的哪個(gè)位置,插入數(shù)據(jù)透視表
④ 然后根據(jù)實(shí)際需求,從不同維度展示結(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 相當(dāng)于Excel中的"選中數(shù)據(jù)源";
index 相當(dāng)于上述"數(shù)據(jù)透視表字段"中的行;
columns 相當(dāng)于上述"數(shù)據(jù)透視表字段"中的列;
values 相當(dāng)于上述"數(shù)據(jù)透視表字段"中的值;
aggfunc 相當(dāng)于上述"結(jié)果"中的計(jì)算類型;
margins 相當(dāng)于上述"結(jié)果"中的總計(jì);
margins_name 相當(dāng)于修改"總計(jì)"名,為其它名稱;
下面幾個(gè)參數(shù),用的較少,記住干嘛的,等以后需要就百度。
dropna 表示是否刪除缺失值,如果為True時(shí),則把一整行全作為缺失值刪除;
fill_value 表示將缺失值,用某個(gè)指定值填充。
案例說明
1)求出不同品牌下,每個(gè)月份的銷售數(shù)量之和
① 在Excel中的操作結(jié)果如下
② 在pandas中的操作如下
df = pd.read_excel(r"C:\Users\黃偉\Desktop\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)求出不同品牌下,每個(gè)地區(qū)、每個(gè)月份的銷售數(shù)量之和
① 在Excel中的操作結(jié)果如下
② 在pandas中的操作如下
df = pd.read_excel(r"C:\Users\黃偉\Desktop\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ū)下,每個(gè)月份的銷售數(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ù)量之和”與“貨號計(jì)數(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="總計(jì)")
display(df1)
結(jié)果如下:
--END--
留言贈書
贈書規(guī)則:給本文點(diǎn)贊("在看"不作要求),掃描下方二維碼,添加老表的微信。把點(diǎn)贊截圖發(fā)給我,我會發(fā)送抽獎(jiǎng)碼給大家,時(shí)間截止至05月24號 20:00。可獲得《海量數(shù)據(jù)處理與大數(shù)據(jù)技術(shù)實(shí)戰(zhàn)》贈書一本。
掃碼即可加我微信
觀看朋友圈,獲取最新學(xué)習(xí)資源
注意:中獎(jiǎng)?wù)?4小時(shí)內(nèi),微信私聊我回復(fù):書名+姓名+電話+收件地址即可領(lǐng)取,逾期不候!為了大家都有機(jī)會中獎(jiǎng),本月已經(jīng)中過書的朋友,再次中獎(jiǎng)將不再贈書。
本批書籍由 北京大學(xué)出版社 贊助,再次致謝。也歡迎大家自行前往購買支持。
簡說Python 投稿規(guī)則及激勵(lì)
規(guī)則:必須是自己的原創(chuàng)文章,和Python相關(guān)技術(shù)文章,形式不限制(文字、圖文、漫畫等),字?jǐn)?shù)800+,在微信公眾號首發(fā)。
激勵(lì)
根據(jù)文章內(nèi)容 字?jǐn)?shù) 分為兩種基礎(chǔ)和深度
基礎(chǔ)文章:每投稿兩篇可以獲得技術(shù)相關(guān)圖書一本 從書單里選
深度文章:每1k字50-100元(代碼不算)
額外激勵(lì)
文章閱讀量超過2000,激勵(lì)50元
文章被同量級大號轉(zhuǎn)載次數(shù)5次及以上,激勵(lì)100元
長期投稿作者還有額外激勵(lì),技術(shù)能力可以的,還可以一起做項(xiàng)目,接私活,內(nèi)推等。
學(xué)習(xí)更多: 整理了我開始分享學(xué)習(xí)筆記到現(xiàn)在超過250篇優(yōu)質(zhì)文章,涵蓋數(shù)據(jù)分析、爬蟲、機(jī)器學(xué)習(xí)等方面,別再說不知道該從哪開始,實(shí)戰(zhàn)哪里找了
“點(diǎn)贊”傳統(tǒng)美德不能丟 














