ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python实现数据透视表

2021-10-27 22:02:00  阅读:264  来源: 互联网

标签:Python 透视 loan data train year margins 数据 class


用Python里的Pandas可以实现,虽然感觉Excel更方便

1.groupby + agg

不够直观,不好看
对贷款年份,贷款种类创建数据透视

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)

主要用到的参数:
index:选哪个变量做数据透视表的行
columns:选哪个变量做数据透视表的列
values:要聚合的值
aggfunc:使用的聚合函数
margins:是否添加汇总列/行
margins_name:汇总行/列的名字

例子

对贷款年份,贷款种类创建数据透视

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)

常用参数与crosstab一致

例子

实现同样的数据透视表

pd.pivot_table(train_data[['year_of_loan', 'class', 'isDefault']],
			  values='isDefault', index=['year_of_loan'], columns=['class'], 
			  aggfunc='count',  margins = True, margins_name = '合计')

在这里插入图片描述

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

在这里插入图片描述

标签:Python,透视,loan,data,train,year,margins,数据,class
来源: https://blog.csdn.net/qq_43656500/article/details/121002393

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有