首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >快速在Python中实现数据透视表

快速在Python中实现数据透视表

作者头像
HuangWeiAI
发布于 2021-08-24 06:46:28
发布于 2021-08-24 06:46:28
3.6K02
代码可运行
举报
文章被收录于专栏:浊酒清味浊酒清味
运行总次数:2
代码可运行

PART 01

趣闻

几年前,我看到有人在推特上说自己是一个excel专家,然后他们的老板让他们做一个透视表。根据这条推文,那个人立刻惊慌失措,辞掉了工作。这条推文很有趣,我能理解,因为一开始,它们可能会令人困惑,尤其是在excel中。但是不用害怕,数据透视表非常棒,在Python中,它们非常快速和简单。数据透视表是数据科学中一种方便的工具。任何开始数据科学之旅的人都应该熟悉它们。让我们快速地看一下这个过程,在结束的时候,我们会消除对数据透视表的恐惧。

PART 02

什么是数据透视表?

数据透视表是一种对数据进行重新排列或“透视”以总结某些信息的技术。

例如,考虑一个产品销售数据集。其中一列可能是“年龄类别”,如年轻、中年和老年。如果你想要看到每个年龄类别的平均销售额,数据透视表将是一个很好的工具。它会给你一个新表格,显示每一列中每个类别的平均销售额。

让我们来看看一个真实的场景,在这个场景中,数据透视表非常有用。我们可以用它来分析数据,甚至得出一些结论。

为了说明这个工作流,让我们采取以下步骤。

  1. 提出一个问题或假设
  2. 找到数据
  3. 使用Pandas创建透视表
  4. 用条形图将我们的发现形象化
  5. 根据我们最初的问题或假设得出结论

PART 03

我们试图回答的问题

让我们假设一群愤怒的父母再次认为电子游戏太暴力。这一次,他们说电子游戏开发者制作了太多带有卡通和虚构暴力风格的游戏。“TX”将这些游戏评级为适合儿童,这意味着开发者可以将游戏卖给更广泛的用户。对于这一群体,大多数儿童游戏都有这种类型的卡通暴力。让我们看看能不能找到一些数据,看看他们的说法是否有效。

在我们开始创造问题或假设之前,我们首先需要了解电子游戏评级。我们需要先熟悉TX的评级系统然后才能继续前进。这些评级在他们的网站上有详细描述,但我也在下面的表格中总结了评级。

这群愤怒的父母在他们的指责中含糊其辞,但让我们对他们的要求采取一些自由。将预测他们所创造的游戏的百分比,并将其定义为“大多数”。

由于TX的评级明确地说“不包含父母会认为不合适的材料”,我们可以提出我们的第一个假设。如果任何“TX”游戏都有这种暴力风格,那么评级系统就有问题了。我们可以使用下面的假设来传达这一点。

超过0%的电子游戏被评为“TX”有某种形式的卡通暴力。

如果这个假设是正确的,那么父母是正确的,评分系统有问题。

如果我们的假设是错误的,那么父母就是错误的,评分系统是按照设计的方式运行的。

我们还需要一个“E”级游戏的假设。“E”是为6岁以上的儿童设计的,但它可能包含卡通暴力。假设超过50%的人占多数,使用下面的假设。

超过50%的E级电子游戏带有某种卡通暴力。

如果我们的假设是正确的,那么家长们就正确地认为暴力正悄悄进入面向孩子的游戏中。如果我们的假设是错误的,那么我们晚上可以睡得很好,因为我们知道“E”级电子游戏中没有太多暴力。

PART 04

数据

Kaggle有一个完美的数据集名为“ESRB”视频游戏评级:

https://www.kaggle.com/imohtn/video-games-rating-by-esrb

从描述中,我们可以看到这个数据集包含了带有34个ESRP评级描述符和ESRB给定评级的1895款游戏。每个描述符都以二进制值列出,其中1表示描述符存在,0表示不存在。数据集还有一些列,但我们只关心评级描述符。让我们下载这个数据集并将其导入到Jupyter Notebook。使用Jupyter Notebook将允许我们导入所需的Python库,并提供一种显示结果的好方法。

PART 06

使用Pandas做一个透视表

Pandas库是Python中任何类型的数据操作和分析的主要工具。

首先,我们需要导入pandas,然后我们可以使用panda .read_csv将Kaggle数据集转换为DataFrame。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
ratings = pd.read_csv("Video_games_esrb_rating.csv")

现在我们需要决定哪些评级描述符是卡通的还是动画的。让我们使用以下描述符:animated_blood, cartoon_violence, mild_cartoon_violence, mild_fantasy_violence。我们将这些列名存储在一个列表中.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cartoon_cols = ["animated_blood", "cartoon_violence", 
"mild_cartoon_violence", "mild_fantasy_violence"]

我们的DataFrame有一个名为pivot_table的方法,它将为我们构建数据透视表。在这个示例中,我们将使用两个参数。第一个参数是index,它将是评级。可以将索引看作是我们进行分组的值。第二个参数是我们前面创建的列表中的值。还有一个非常重要的参数,aggfunc。这个参数将决定如何总结我们的信息。因为这些列都是布尔值,所以寻找平均值的默认值是完美的。这些列的均值将给出每个描述符中有1个游戏的百分比。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pivot = ratings.pivot_table(index="esrb_rating", values=cartoon_cols)
pivot

太棒了!让我们分解这个输出告诉我们什么:

  • 我们只在4个不同的等级中看到这些内容描述符:E(每个人),ET(E+10), T(青少年),M(成熟)。这告诉我们,EC(Early Childhood)游戏不包含任何这种卡通风格的暴力。
  • 在被评为“E”级的游戏中,没有任何一款游戏含有动画血液或卡通暴力。约5%的人有轻微的卡通暴力,约18.5%的人有轻微的幻想暴力。
  • 2%的ET(“E+10”)游戏有动画血液,5%有卡通暴力,4%有轻微卡通暴力,约3%有轻微幻想暴力。
  • 成熟游戏在这些类别中很少有暴力元素,青少年游戏也有一些这种类型的暴力元素,但比“E+10”级别的游戏要少。

PART 07

用条形图可视化数据透视表

数据透视表在几秒钟内就给了我们一些快速的信息。如果以视觉的方式展示某些东西,人们通常更容易理解它。我们可以使用Pandas用数据透视表制作一个柱状图。

由于本演练是基于使用Jupyter Notebook,我们需要第一行来查看柱状图。我们也使用了numpy。排列作为一个快捷方式,在y轴上做10个滴答声,从0开始,以0.1增量递增。我们创建的数据透视表实际上是一个DataFrame,它允许我们调用plot。条形法。如果我们不指定x轴上的值,则使用索引。在这种情况下,这是完美的,因为它将使用我们的“TX”评级。然后y轴将显示每个描述符生成的值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
%matplotlib inline
import numpy as np
pivot.plot.bar(ylim=(0,1),yticks=np.arange(0,1,.1))

·END·

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python学会 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Pandas表格样式设置,超好看!
通过这一方法,增强数据的呈现,使信息的探索和理解不仅内容丰富,而且具有视觉吸引力。
小F
2024/01/05
9880
Pandas表格样式设置,超好看!
对比Excel,轻松搞定Python数据透视表
学习Excel,数据er最常用的两大Excel功能就是VLOOKUP和数据透视表!利用数据透视表可以从繁杂无序的源数据中筛选出自己需要的“字段标题”进行分类汇总、对比或合并等操作,作为一种强大的交互性报表,大大简化了数据处理和分析工作的步骤,提高办公效率,职场达人必学!
快学Python
2022/11/28
2K0
对比Excel,轻松搞定Python数据透视表
再见,Excel数据透视表;你好,pd.pivot_table
Excel作为Office常用办公软件之一,其在一名数据分析师的工作日常中也占有一定地位,比如个人就常常倾向于依赖Excel完成简单的数据处理和可视化作图,其中数据处理部分则主要是运用内置函数+数据透视表两大部分。
luanhz
2020/12/17
2.6K0
再见,Excel数据透视表;你好,pd.pivot_table
python机器学习:推荐系统实现(以矩阵分解来协同过滤)
我们可以通过为每个用户和每部电影分配属性,然后将它们相乘并合并结果来估计用户喜欢电影的程度。
拓端
2020/08/14
1.6K0
左手pandas右手Python,带你学习数据透视表
数据透视表是数据分析工作中经常会用到的一种工具。Excel本身具有强大的透视表功能,Python中pandas也有透视表的实现。本文使用两个工具对同一数据源进行相同的处理,旨在通过对比的方式,帮助读者加深对数据透视表的理解。
Datawhale
2019/08/27
4K0
左手pandas右手Python,带你学习数据透视表
pandas透视表分析
数据透视表是一个用来总结和展示数据的强大工具。pandas提供了pivot_table()函数以快捷地把DataFrame转换为透视表。
陆勤_数据人网
2019/05/28
2.4K0
Python数据分析实战(2)使用Pandas进行数据分析
Pandas的使用很灵活,最重要的两个数据类型是DataFrame和Series。
cutercorley
2020/08/26
4.3K0
再见 Excel,你好 Python Spreadsheets! ⛵
Excel是大家最常用的数据分析工具之一,借助它可以便捷地完成数据清理、统计计算、数据分析(数据透视图)和图表呈现等。
ShowMeAI
2022/08/09
3.3K0
再见 Excel,你好 Python Spreadsheets! ⛵
实用!Python数据透视表与透视分析:深入探索数据关系
数据透视表是一种用于进行数据分析和探索数据关系的强大工具。它能够将大量的数据按照不同的维度进行聚合,并展示出数据之间的关系,帮助我们更好地理解数据背后的模式和趋势。在Python中,有多个库可以用来创建和操作数据透视表,其中最常用的是pandas库。
用户1289394
2024/02/03
6100
实用!Python数据透视表与透视分析:深入探索数据关系
Pandas进阶|数据透视表与逆透视
数据透视表将每一列数据作为输入,输出将数据不断细分成多个维度累计信息的二维数据表。在实际数据处理过程中,数据透视表使用频率相对较高,今天云朵君就和大家一起学习pandas数据透视表与逆透视的使用方法。
数据STUDIO
2021/09/26
5.1K0
Pandas进阶|数据透视表与逆透视
数据科学 IPython 笔记本 7.12 透视表
我们已经看到GroupBy抽象如何让我们探索数据集中的关系。透视表是一种类似的操作,常见于电子表格,和其他操作表格数据的程序中。透视表将简单的逐列数据作为输入,并将条目分组为二维表格,该表提供数据的多维汇总。
ApacheCN_飞龙
2022/06/03
1.2K0
数据科学 IPython 笔记本 7.12 透视表
手把手教你用Pandas透视表处理数据(附学习资料)
来源:伯乐在线 - PyPer 本文共2203字,建议阅读5分钟。 本文重点解释pandas中的函数pivot_table,并教大家如何使用它来进行数据分析。 介绍 也许大多数人都有在Excel中使用数据透视表的经历,其实Pandas也提供了一个类似的功能,名为pivot_table。虽然pivot_table非常有用,但是我发现为了格式化输出我所需要的内容,经常需要记住它的使用语法。所以,本文将重点解释pandas中的函数pivot_table,并教大家如何使用它来进行数据分析。 如果你对这个概念
数据派THU
2018/01/29
3.5K0
手把手教你用Pandas透视表处理数据(附学习资料)
使用Spark轻松做数据透视(Pivot)
spark从1.6开始引入,到现在2.4版本,pivot算子有了进一步增强,这使得后续无论是交给pandas继续做处理,还是交给R继续分析,都简化了不少。大家无论在使用pandas、numpy或是R的时候,首先会做的就是处理数据,尤其是将列表,转成成合适的形状。
麒思妙想
2020/07/10
3.5K0
使用Spark轻松做数据透视(Pivot)
《利用Python进行数据分析·第2版》第10章 数据聚合与分组运算10.1 GroupBy机制10.2 数据聚合10.3 apply:一般性的“拆分-应用-合并”10.4 透视表和交叉表10.5 总
对数据集进行分组并对各组应用一个函数(无论是聚合还是转换),通常是数据分析工作中的重要环节。在将数据集加载、融合、准备好之后,通常就是计算分组统计或生成透视表。pandas提供了一个灵活高效的gruopby功能,它使你能以一种自然的方式对数据集进行切片、切块、摘要等操作。 关系型数据库和SQL(Structured Query Language,结构化查询语言)能够如此流行的原因之一就是其能够方便地对数据进行连接、过滤、转换和聚合。但是,像SQL这样的查询语言所能执行的分组运算的种类很有限。在本章中你将会看
SeanCheney
2018/04/24
5.3K0
《利用Python进行数据分析·第2版》第10章 数据聚合与分组运算10.1 GroupBy机制10.2 数据聚合10.3 apply:一般性的“拆分-应用-合并”10.4 透视表和交叉表10.5 总
[Excel技巧]只用一个公式可以实现对数据透视表进行再透视
日常Excel业务报表中,我们有时需要对透视过的数据进行各种运算,运算完成后再次进行透视,本文提供一种简便方案,可以进行透视表再透视,数据源更新不影响刷新使用。
wujunmin
2021/09/07
4.5K0
[Excel技巧]只用一个公式可以实现对数据透视表进行再透视
数据科学小技巧3:数据透视表
数据透视表是Excel里面常用的分析方法和工具,通过行选择,指定需要分组指标;通过列选择,指定需要计算指标,最后在指定需要聚合计算类型,比方说是计数,还是求均值,还是累加和等等。
陆勤_数据人网
2020/03/25
1.3K0
数据科学小技巧3:数据透视表
熟练掌握 Pandas 透视表,数据统计汇总利器
有一堆杂乱的数据,你想按某些规则把它们分门别类、汇总统计?这时候就需要数据"整理达人" Pandas.pivot_table 出马了,这是 Pandas 快速上手系列的第 8 篇。
用户4945346
2024/05/27
7750
熟练掌握 Pandas 透视表,数据统计汇总利器
5分钟了解Pandas的透视表
Pandas 库是用于数据分析的流行 Python 包。Pandas 中处理数据集时,结构将是二维的,由行和列组成,也称为dataframe。然而,数据分析的一个重要部分是对这些数据进行分组、汇总、聚合和计算统计的过程。
deephub
2021/08/20
2.1K0
在pandas中使用数据透视表
经常做报表的小伙伴对数据透视表应该不陌生,在excel中利用透视表可以快速地进行分类汇总,自由组合字段聚合计算,而这些只需要拖拉拽就能实现。
bugsuse
2020/11/06
3.5K0
在pandas中使用数据透视表
技术|数据透视表,Python也可以
对于熟悉Excel的小伙伴来说,学习Python的时候就按照没个功能在Python中如何实现进行学习就可以啦~
做数据的二号姬
2020/05/22
2.5K0
推荐阅读
相关推荐
Pandas表格样式设置,超好看!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验