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透视表基础之数据源、创建、基本术语、基本操作
数据源的基本要求: 每列数据的第一行包含该列标题 不能包含空行或空列 不能包含空单元格 不能包含合并单元格 不能包含同类字段 如果包含空行.空列则删除空行和空列.如果包含空单元格则填充空单元格. 如果 ...
随机推荐
- JavaScript 与 CSS 滚动实现最新指南
一些(网站)滚动的效果是如此令人着迷但你却不知该如何实现,本文将为你揭开它们的神秘面纱.我们将基于最新的技术与规范为你介绍最新的 JavaScript 与 CSS 特性,(当你付诸实践时)将使你的页面 ...
- require--按需加载js与模块化
1.html中: “<script type="text/javascript" src="js/require.js" data-main=" ...
- TYVJ P2032 「Poetize9」升降梯上 spfa最短路
%%%暴搜出奇迹%%%@SiriusRen 其实我刚开始题读错了,才导致我写图论... spfa跑最短路,开一个node记录状态(pair当然滋磁):所在楼层和槽的位置 以层数为1,槽在0的位置 为初 ...
- js:常用到的js操作记录
1:对参数去除空格 str.replace(/^\s+|\s+$/g, '');
- JS——变量声明、变量类型、命名规范
变量声明: JavaScript是一种弱类型语言,它的变量类型由它的值来决定,var是变量声明. 变量类型: 基本类型:number.string.boolean(布尔类型:var a=true/fa ...
- RTX51 Tiny
参考文档 :RTX51 Tiny 2.02 中文手册.doc.Keil_Rtx51_tiny_RTOS中文版.pdf RTX-51 有 2 个版本:Full 和 Tiny.类似的国人写的 Small ...
- GPIO的翻转操作方法
STM32在进行IO翻转操作的时候可以使用以下方法:以PE.5为例 GPIO_WriteBit(GPIOE,GPIO_Pin_5,(BitAction)(1-(GPIO_ReadOutputDataB ...
- mysql非常全的和完整的总结
(1)数据类型 类型 备注 tinyint/smallint/mediumint/int/bigint 1B/2B/3B/4B/8B float/double 单精度/双精度浮点型 decimal 不 ...
- feign hystrix加仪表盘
Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数 ...
- 快色排序算法(C语言描述)
快速排序 算法思想 快速排序采用了一种分治策略,学术上称之为分治法(Divide-and-Conquer Method). 哨兵(如下算法中的key) 每趟排序将哨兵插入到数组的合适位置,使得哨兵左侧 ...