Python實現(xiàn)數(shù)據(jù)透視表詳解
用Python里的Pandas可以實現(xiàn),雖然感覺Excel更方便
1.groupby + agg
不夠直觀,不好看
對貸款年份,貸款種類創(chuàng)建數(shù)據(jù)透視
train_data.groupby(['year_of_loan', 'class']).agg(d_roat =('isDefault', 'mean'))

2. crosstab
pandas.crosstab(index, columns,values, rownames=None, colnames, aggfunc, margins, margins_name, dropna, normalize)
主要用到的參數(shù):
index:選哪個變量做數(shù)據(jù)透視表的行
columns:選哪個變量做數(shù)據(jù)透視表的列
values:要聚合的值
aggfunc:使用的聚合函數(shù)
margins:是否添加匯總列/行
margins_name:匯總行/列的名字
例子
對貸款年份,貸款種類創(chuàng)建數(shù)據(jù)透視
pd.crosstab(train_data['year_of_loan'], train_data['class'], train_data['loan_id'], aggfunc='count',margins = True, margins_name = '合計')

可以直接看出交叉組合之后違約比例
pd.crosstab(train_data['year_of_loan'], train_data['class'], train_data['isDefault'], aggfunc='mean')

3.groupby + pivot
train_data.groupby(['year_of_loan', 'class'], as_index = False)['isDefault'].mean().pivot('year_of_loan', 'class', 'isDefault')

pivot_table
pandas.pivot_table(data, values, index, columns, aggfunc, fill_value, margins, dropna, margins_name, observed, sort)
常用參數(shù)與crosstab一致
例子
實現(xiàn)同樣的數(shù)據(jù)透視表
pandas.pivot_table(data, values, index, columns, aggfunc, fill_value, margins, dropna, margins_name, observed, sort)

pd.pivot_table(train_data[['year_of_loan', 'class', 'isDefault']], values='isDefault', index=['year_of_loan'], columns=['class'], aggfunc='mean')

總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注本站的更多內(nèi)容!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信