python3学习--使用pandas 数据透视表分析数据--入门示例

news2024/11/19 7:29:15

什么是透视表?

透视表是一种可以对数据动态排布并且分类汇总的表格格式,可以以多种方式和视角查看数据特征

Pandas库提供了一个名为pivot_table的函数,它将一个特性的值汇总在一个整洁的二维表中。

使用示例

pivot_table函数说明

在这里插入图片描述
pandas.pivot_table(data, values=None, index=None, columns=None, aggfunc=’mean’, fill_value=None, margins=False, dropna=True, margins_name=’All’)

Parameters:

  • data : DataFrame

  • values : column to aggregate, optional

  • index: column, Grouper, array, or list of the previous

  • columns: column, Grouper, array, or list of the previous

  • aggfunc: function, list of functions, dict, default numpy.mean (If list of functions passed, the resulting pivot table will have hierarchical columns whose top level are the function names. If dict is passed, the key is column to aggregate and value is function or list of function)

  • fill_value[scalar, default None] : Value to replace missing values with 对缺失值的填充

  • margins[boolean, default False] : Add all row / columns (e.g. for subtotal / grand totals) 是否启用总计行/列

  • dropna[boolean, default True] : Do not include columns whose entries are all NaN 删除缺失

  • margins_name[string, default ‘All’] : Name of the row / column that will contain the totals when margins is True. 总计行/列的名称

  • Returns: DataFrame

代码示例

分析的数据使用Titanic 的训练数据集

导入数据并做基本处理

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 12,6
plt.style.use('ggplot')


df = pd.read_csv('data/titanic/train.csv') # reading data into dataframe
df.drop(['PassengerId','Ticket','Name'],axis=1,inplace=True)
df.head() # displaying first five values

在这里插入图片描述

在数据透视表中使用索引分组数据

table1 = pd.pivot_table(data=df.head(100),index=['Sex'],values=['Survived','Pclass','Age','SibSp','Parch','Fare'])
table1
table1.plot(kind='bar')

table2 = pd.pivot_table(df,index=['Sex','Pclass'],values=['Survived','Age','SibSp','Parch','Fare'],
                        margins=True,margins_name='汇总')
table2

在这里插入图片描述
可以使用多个特性作为索引来对数据进行分组。这增加了结果表的粒度级别,这样可以获得更具体的发现:
使用数据集上的多个索引,可以一致认为,在泰坦尼克号的每个头等舱中,男女乘客的票价差异都是有效的。
在这里插入图片描述

针对不同的特征,使用不同的聚合函数

table3 = pd.pivot_table(df,index=['Sex','Pclass'],
                        aggfunc={'Age':np.mean,'Survived':np.sum})
table3

在这里插入图片描述

使用value参数聚合特定的特征

Values参数告诉函数在哪些特征上聚合。这是一个可选字段,如果你不指定这个值,那么函数将聚合数据集的所有数值特征:

研究发现:泰坦尼克号上乘客的存活率随着等级Pclass的降低而降低。此外,在任何给定的p舱位中,男性乘客的存活率都低于女性乘客。

table4 = pd.pivot_table(df,index=['Sex','Pclass'],
                        values=['Survived'],
                        aggfunc=np.mean)
table4
table4.plot(kind='bar');

在这里插入图片描述

使用columns参数的特征之间的关系

Columns参数是可选的,它在结果表的顶部水平显示这些值。

table5 = pd.pivot_table(df,index=['Sex'],
                        columns=['Pclass'],
                        values=['Survived'],
                        aggfunc=np.sum)
table5
table5.plot(kind='bar');

在这里插入图片描述

处理丢失的数据

table6 = pd.pivot_table(df,index=['Sex','Survived','Pclass'],
                        columns=['Embarked'],
                        values=['Age'],
                        aggfunc=np.mean)
table6

## 用' Age '列的平均值替换NaN值:
table7 = pd.pivot_table(df,index=['Sex','Survived','Pclass'],
                        columns=['Embarked'],
                        values=['Age'],
                        aggfunc=np.mean,
                        fill_value=np.mean(df['Age']))
table7

## 用固定的值-1替换NaN值:
table7 = pd.pivot_table(df,index=['Sex','Survived','Pclass'],
                        columns=['Embarked'],
                        values=['Age'],
                        aggfunc=np.mean,
                        fill_value=-1)
table7

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/852049.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

没有硬核技术,怎么抓得住元宇宙的风口?

自 2021 年起,Web 3.0 与元宇宙逐步成为全球科技界的热门概念。Web 3.0 是技术发展方向的未来,元宇宙是应用场景和生活方式的未来,二者之间是相辅相成、一体两面的依存关系。科技巨头如 Meta、谷歌、苹果、华为、腾讯、OPPO 等均已在积极布局…

7.3 详解NiN模型--首次使用多层感知机(1x1卷积核)替换掉全连接层的模型

一.前提知识 多层感知机:由一个输入层,一个或多个隐藏层和一个输出层组成。(至少有一个隐藏层,即至少3层) 全连接层:是MLP的一种特殊情况,每个节点都与前一层的所有节点连接,全连接…

stm32项目(6)——基于stm32的人体检测系统

目录 1.功能设计 2.硬件方案 1.单片机选择 2.人体传感器 3.报警模块 3.程序设计 4.课题意义 5.未来发展 1.功能设计 本系统为日常生活而开发的人体感应报警系统,主体通过HC-SR501模块达到感知人体靠近,检测到人体后单片机控制蜂鸣器和LE…

MyBatis动态sql标签帮你轻松搞定sql拼接

动态sql介绍 由于在开发过程不同的业务中会用到不同的操作条件,如果每个业务都拼接不同sql语句的话会是一个庞大的工作量;此时动态sql就能解决这个问题,可以针对不确定的操作条件动态拼接sql语句,根据提交的条件来完成业务sql的执…

【LeetCode 75】第二十四题(2390)从字符串中移除星号

目录 题目: 示例: 分析: 代码运行结果: 题目: 示例: 分析: 题目给我们一个字符串,然后字符串中包含星号*,要求每个星号消除一个从星号左边起最近的一个字符&#xf…

随着野火的增加,甲烷排放也会增加

2020 年对加利福尼亚州造成严重破坏的野火使大气中充满了强效温室气体。 2020 年,溪火烧毁了北加州的内华达山脉。图片来源:Zachary Cava/Flickr,CC BY-NC-SA 2.0 2020 年,在高温和干旱的推动下,加州野火烧毁了超过160…

揭示CTGAN的潜力:利用生成AI进行合成数据

推荐:使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景 我们都知道,GAN在生成非结构化合成数据(如图像和文本)方面越来越受欢迎。然而,在使用GAN生成合成表格数据方面所做的工作很少。合成数据具有许多好处&#x…

Ae 效果:CC Spotlight

透视/CC Spotlight Perspective/CC Spotlight CC Spotlight(CC 聚光灯) 主要用途是创建和控制逼真的聚光灯效果。通过调整这些属性,可以模拟出各种不同的照明环境和效果,比如舞台照明、日出日落、特定的颜色照明等。 ◆ ◆ ◆ 效…

儿童台灯什么光源好?如何挑选儿童护眼台灯

很多家长有时候会说孩子觉得家里的台灯灯光刺眼,看书看久了就不舒服。这不仅要看光线亮度是否柔和,还要考虑台灯是不是有做遮光式设计。没有遮光式设计的台灯,光源外露,灯光会直射孩子头部,孩子视线较低,很…

c语言——字符串函数和内存操作函数

深度学习字符串函数和内存操作函数 一、求字符串长度函数(strlen)二、长度不受限制的字符串函数2.1字符串拷贝函数(strcpy)2.2字符串连接函数(strcat)2.3字符串比较函数(strcmp) 三、…

Smart HTML Elements 16.1 Crack

Smart HTML Elements 是一个现代 Vanilla JS 和 ES6 库以及下一代前端框架。企业级 Web 组件包括辅助功能(WAI-ARIA、第 508 节/WCAG 合规性)、本地化、从右到左键盘导航和主题。与 Angular、ReactJS、Vue.js、Bootstrap、Meteor 和任何其他框架集成。 智…

thinkphp:分组查询(多条相同列的数据只展示一条)

例子:数据库中有trans_num、subinventory_from、transaction_type、creation_date有相同值,在查询该数据库使,只展示这几个值相同的一条 效果: 限制之前 限制之后 代码 限制前,后端代码 public function select_i…

使用威胁建模进行DevSecOps实践丨IDCF

作者: 姚圣伟(现就职天津引元科技 天津市区块链技术创新中心) 研发效能(DevOps)工程师认证学员 一、从DevOps到 DevSecOps DevOps 最开始最要是强调开发和运维的协作与配合,至今,已不仅仅涉…

第3章 数据和C

本章介绍以下内容: 关键字:int 、short、long、unsigned、char、float、double、_Bool、_Complex、_Imaginary 运算符:sizeof() 函数:scanf() 整数类型和浮点数类型的区别 如何书写整型和浮点型常数,如何声明这些类型的…

在windows中使用parLapply函数执行并行计算

目录 1-lapply()函数介绍: 例子1: 例子2: 例子3: 2-在Windows使用并行计算,使用parLapply()函数 2.1-并行计算的准备阶段: 2.2-parLapply()函数介绍 2.3-使用parLapply()函数编写执行并行计算 2.4-…

领航优配:医药股发力拉升,双成药业等涨停,科源制药等大涨

医药股8日盘中拉升走高,到发稿,科源制药涨超16%,盘中一度冲击涨停;北陆药业涨超10%,精华制药、双成药业、海欣股份、奇特制药、龙津药业、永安药业等涨停,诚达药业、特一药业涨逾8%。 音讯面上,…

《实战AI模型》:GPT语义缓存为什么用GPTCache而不是Redis?

为什么不是Redis? 验证完可行性,便到了搭建系统的环节。这里我有一点必须要分享,在搭建 ChatGPT 缓存系统时,Redis 并不是我们的首选。 个人而言,我很喜欢用 Redis,它性能出色又十分灵活,适用于各种应用。但是 Redis 使用键值数据模型是无法查询近似键的。 如果用户提…

天!刚进公司的00后凭这套大屏模板直接涨薪5K,这是什么加薪利器

现在这世道,对普通人来说有一份谋生的工作真的都是奢求。前几天,坐在老李旁边,在公司待了10多年的老员工被叫到主管办公室说裁员的事情,他本来以为就是个普通的工作讨论,结果是通知他被裁员了,出来后整个人…

ESRVCC准备阶段优化提升方案

一、eSRVCC信令流程 UE发测量报告给eNb;基于测量报告,源eNb触发到GERAN的SRVCC切换流程;源eNb发送Handover Required 消息给源MME,消息中携带Target ID, generic Source to Target Transparent Container, SRVCC HO Indication等信息&#xf…

企业邮箱安全评估:选择最佳安全性的企业邮箱

企业在网络安全技术上投入了数十亿美元,但当涉及到邮箱安全时,风险甚至更高。随着网络钓鱼攻击、勒索软件和其他恶意威胁的兴起,确保邮箱免受入侵至关重要。 幸运的是,有许多安全解决方案和方法可供企业使用,包括: 反垃…