• 如何用一行代码搞定数据透视表?
  • 来源:未明学院

Excel中数据透视表的使用非常广泛,其实Pandas也提供了一个类似的功能,应用起来比Excel更灵活,也更强大。虽然pivot_table看起来只是一个简单的函数,但是它能够快速地进行数据分析,帮你轻松搞定繁杂冗余的数据,提升学习工作的效率。
本期我们将重点解释Pandas中的pivot_table函数,并教大家如何使用它来进行数据分析。
注意,你需要确保你理解你的数据,并清楚地知道你想通过透视表解决什么问题。
(1)预处理打开一份Excel表格,可以看到一份表格的数据量庞大,如何从繁杂冗余的数据中获取自己想要的信息,是一个让人头疼的问题。

图/行数据多达3W+

我们来教大家怎么用一行代码获取想要的信息。
在此之前,先进行简单的数据预处理,为防止后续操作中筛选出的数据量过大,我们可以限定显示最大的函数为10行:

通过这种简单的筛选方式,你可以轻松获取你想要的信息,无需大费周章地查找。

同理,如果想要以产地为索引,只要把“年代”索引修改成“产地”索引即可。
(3)多索引此外,也可以有多个索引。实际上,大多数的pivot_table参数可以通过列表获取多个值。我们尝试按年代和产地索引进行筛选:

(5)指定统计方法还可以指定函数来统计不同的统计值,使用aggfunc就很容易实现,比如在下图中使用Numpy的sum函数对投票人数求和:

可以看到,透视表的应用很灵活。

(6)替换非法字符非数值(NaN)难以处理,会对计算产生干扰。如果想移除它们,可以使用“fill_value”将其设置为0:

(8)灵活运用aggfunc一个很方便的特性是,为了对你选择的不同值执行不同的函数,你可以向aggfunc传递一个字典。不过,这样做有一个副作用,那就是必须将标签做的更加简洁才行。
我们尝试对各个地区的投票人数求和,对评分求均值:

(9)数据过滤
运用type函数,可以看到数据透视表是Dataframe类型的:

接下来我们按电影的年代进行排名,使用排序函数sort_values(),评分按照降序排序,设置ascending的值为False:

1924年的所有电影仅靠一小串代码就罗列出来了,是不是很轻松~

话不多说,小明已经抄下影单,准备观影了!


▼往期精彩回顾▼如何使用python制作词云图? Pandas必备技能之“表格拼接”4张思维导图系统入门Python爬虫7张思维导图掌握数据分析关键库pandasNumpy核心要点有哪些?3张思维导图帮你梳理


- END -

未明训练营火热报名中商业分析,量化金融,机器学习,深度学习
4大专题,5个精选项目任你挑选<<<商业分析实战营课表,向左滑动查看更多>>><<<量化金融实战营课表,向左滑动查看更多>>><<<机器学习实战营课表,向左滑动查看更多>>><<<深度学习实战营课表,向左滑动查看更多>>>
报名与咨询









未明学院




扫一扫下载订阅号助手,用手机发文章

赞赏



长按二维码向我转账


受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

















已同步到看一看



取消
发送


我知道了








朋友会在“发现-看一看”看到你“在看”的内容
确定













已同步到看一看写下你的想法



最多200字,当前共字
发送







已发送







朋友将在看一看看到
确定



写下你的想法...









取消
发布到看一看
确定




最多200字,当前共字








发送中













微信扫一扫
使用小程序










取消
允许











取消
允许














知道了








确定


<< 6 7 8 9 10 >>