pandas交叉表和透视表及案例分析
一.交叉表:
作用:
交叉表是一种用于计算分组频率的特殊透视图,对数据进行汇总
考察预测数据和正式数据的对比情况,一个作为行,一个作为列
案例:
医院预测病人病情:
真实病情如下数组(B:有病,M:没病)
true = np.load("./cancer_true.npy") #load()加载数据
true

算法预测病情数据如下:
predict = np.load("./cancer_predict.npy")
predict

现在要知道预测结果有多少预测正确,多少预测失败
使用交叉表:
#使用交叉表,调用crosstab()函数。
参数如下:
['index', 'columns', 'values=None', 'rownames=None', 'colnames=None', 'aggfunc=None', 'margins=False', "margins_name='All'", 'dropna=True', 'normalize=False'],
预测结果:
pd.crosstab(index = true,columns=predict,rownames = ["确诊"],colnames = ["预测"],margins=True)

可以看到预测正确的结果有36+17个,2个漏诊,2个误诊
二.透视表:
它根据一个或多个键对数据进行聚合,并根据行和列上的分组键将数据分配到各个矩形区域中
分组查看数据,和数据库中的group by是相同的功能。
案例:
分析人的使用左右手跟情商(eq)、智商(iq)的关系
添加数据(伪造)
df =DataFrame({"HAND":np.random.randint(0,10,size = 200),"sex":np.random.randint(0,2,size = 200),"iq":np.random.randint(0,100,size =200),"eq":np.random.randint(0,100,size = 200)})
df
(部分数据)
对数据进行处理:
使用透视表:
调用pivot_table()函数
参数有:
['data', 'values=None', 'index=None', 'columns=None', "aggfunc='mean'", 'fill_value=None',
'margins=False', 'dropna=True', "margins_name='All'"],
pd.set_option("display.float_format",lambda x:"%0.1f"%(x))
pd.pivot_table(data = df,values = ["iq","eq"],index = ["HAND","sex"],aggfunc= "mean",margins = True)

通过表分析字段之间的关系。
pandas交叉表和透视表及案例分析的更多相关文章
- Mysql大表查询优化技巧总结及案例分析
http://www.169it.com/article/3219955334.html sql语句使用基本原则:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 orde ...
- Java 创建、刷新Excel透视表/设置透视表行折叠、展开
透视表是依据已有数据源来创建的交互式表格,我们可在excel中创建透视表,也可编辑已有透视表.本文以创建透视表.刷新透视表以及设置透视表的行展开或折叠为例,介绍具体的操作方法. 所需工具:Free S ...
- 【每日一学】pandas_透视表函数&交叉表函数
每日一悟 [分开工作内外8小时] 前一个月,我经常把工作内的问题带到路上.地铁上.睡觉前,甚至是周末. 然而很快发现,我工作外的成就几乎没有,而工作内的进展也并不理想. 仔细想想,工作外是需要学新东西 ...
- Python中pandas透视表pivot_table功能详解(非常简单易懂)
一文看懂pandas的透视表pivot_table 一.概述 1.1 什么是透视表? 透视表是一种可以对数据动态排布并且分类汇总的表格格式.或许大多数人都在Excel使用过数据透视表,也体会到它的强大 ...
- pandas常用操作详解(复制别人的)——数据透视表操作:pivot_table()
原文链接:https://www.cnblogs.com/Yanjy-OnlyOne/p/11195621.html 一文看懂pandas的透视表pivot_table 一.概述 1.1 什么是透视表 ...
- pandas-10 pd.pivot_table()透视表功能
pandas-10 pd.pivot_table()透视表功能 和excel一样,pandas也有一个透视表的功能,具体demo如下: import numpy as np import pandas ...
- C# 操作Excel数据透视表
一.概述 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地改变透视表版面布置,也可以重新安排行号.列标和页字段.当改变版面布置时,数据透视表也会按照新的 ...
- Excel 之 字符串截取、拼接、和透视表
假设有表如下: 如何得到E列的数据(格式为模式名.表名,如PDM_DATA.T05_GMS_NAV_SPV_PCH_RDM_TRX_EVT)?如何由E列得到F列数据(从E类中截取表名)? 1. 字符串 ...
- Excel透视表基础之数据源、创建、基本术语、基本操作
数据源的基本要求: 每列数据的第一行包含该列标题 不能包含空行或空列 不能包含空单元格 不能包含合并单元格 不能包含同类字段 如果包含空行.空列则删除空行和空列.如果包含空单元格则填充空单元格. 如果 ...
随机推荐
- 解决import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;报错的问题
在项目中用到这两个Jar包,但是程序报错. Access restriction: The type BASE64Decoder is not accessible due to restrictio ...
- Centos7.x 安装 pptp
VPN 1:检查是否支持PPTP #返回OK && echo ok ok 2:安装ppp yum install -y ppp 3:导入EPEL源 rpm -ivh http://dl ...
- Java中
- spring boot 事务
spring事务:默认自动提交只读:@Transactional(readOnly = true)读写:@Transactional(),因为等同于@Transactional(readOnly = ...
- NET?.NET Framework?.NET Core?
什么是.NET?什么是.NET Framework?什么是.NET Core? https://www.cnblogs.com/1996V/p/9037603.html 什么是.NET?什么是.NET ...
- css文本换行的问题
今天敲代码的时候发现了一个一直都没太注意的小问题,当我在一个200px的div中写了一长串的‘f ‘时发现没有换行 但加上空格或标点符号后就能自动换行 原来浏览器把它当成了一串完整的单词,所以默认不换 ...
- SpringBoot---Web开发
一.概述 1.SpringBoot提供了spring-boot-starter-web为 web开发 予以支持: 2.spring-boot-starter-web提供了 内嵌的Tomcat 以及 S ...
- (转) RHEL7 忘记密码修改root密码
博客链接:http://blog.csdn.net/derkampf/article/details/54346516 RHEL7进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ct ...
- 常用API(Object、String、StringBuffer、用户登陆注册)
常用API 今日内容介绍 u Object u String u StringBuilder 第1章 Java的API及Object类 在以前的学习过程中,我们都在学习对象基本特征.对象的使用以及对象 ...
- DetachedCriteria的简单使用
一. DetachedCriteria使得hibernate能够对查询条件进行面向对象的方式来组装.其创建方式有两种: 1.1直接用class创建:DetachedCriteria criteria ...