Python里怎么样做数据透视表?在我们工作中经常会遇到需要做数据透视表,它能很快的帮我们收集我们想要的数据,而在用Python里的Pandas可以实现,虽然不如Excel方便,但是效果也还不错,接下来我们一起了解看看吧。
不够直观,不好看
对贷款年份,贷款种类创建数据透视
train_data.groupby(['year_of_loan', 'class']).agg(d_roat =('isDefault', 'mean'))
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')
train_data.groupby(['year_of_loan', 'class'],
as_index = False)['isDefault'].mean().pivot('year_of_loan', 'class', 'isDefault')
pandas.pivot_table(data, values, index, columns, aggfunc, fill_value, margins, dropna, margins_name, observed, sort)
常用参数与crosstab一致
例子
实现同样的数据透视表
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')
以上就是Python里实现数据透视表的几种方法,有些展现效果不是很好,有些数据显示的很清晰,有需要的朋友可以参考了解看看,本文代码有一定的参考价值。最好,想要了解更多可以继续浏览群英网络其他相关的文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。