天天看點

python groupby用法實戰

背景

已知某航空公司擁有的飛機數量如下圖示,現要求在EXCEL表中,計算出各個機型每種座位布局的飛機數量在該種機型飛機總量中所占的比重。

python groupby用法實戰

代碼實作

#導入原始資料表
import pandas as pd
dt=pd.read_excel('xl.xlsx')
#定義函數per,即子數占總數的比
def per(arr):
    return arr/arr.sum()
#利用GROUPBY對機型進行分組,再利用per()計算各組内資料占該組資料之和的比重,并把所得結果添加到dt資料框的後一列,儲存為lx.xlsx
dt[u'占比']=dt.groupby(u'機型').transform(per)
dt.to_excel('lx.xlsx',index=False)           

複制