从零怎样用 pandas 剖析数据可视化日本东京奥运会数据

来源于:早上Python

创作者:刘早上

文中将根据日本东京奥运会奖牌榜数据,应用 pandas 开展数据剖析数据可视化实战演练(文尾可以下载数据与源代码)

数据载入

最先是夏季奥运会奖牌数据的获得,尽管有很多插口给予数据,可是根据奥运会官网取得的数据当然是最安全可靠的

根据对日本东京奥运会官网奖牌榜的网页页面剖析,发觉其报表在前面是根据

pandas.read_html()

以后再载入当地分日奖牌数据并将国家ID开展配对

改动字段名

注意到里面的 df1 字段名并沒有详细,因此能够应用 rename 涵数改动特定列的名字

数据种类查询与改动

即然 df2 有时间列,为了更好地便捷后边剖析,当然要检查一下其种类

能够见到,得奖時间列尽管沒有缺少值但其并并不是pandas适用的時间种类。

好在改动列特性并不是什么艰难的事儿,一行编码轻轻松松拿下(7-12)

数据合拼

仔细观察能够发觉,df2并沒有 国家名字 列,可是其与 df1 有一个一同列 国家id

为了更好地给 df2 增加一列 国家名字 列,一个当然的念头便是根据 国家id 列将2个数据框开展合拼,在 pandas 中完成,也不是啥子艰难的事儿

如今 df2 就调节的差不多了(因为源数据难题,一部分得奖時间与真正時间有一定偏差),下边进行开展剖析

数据排序

下边对 df2 开展一些数据分析,测算每一个国家的奖牌数量(也就是发生频次),并查询奖牌数前5名,結果可以用 df1 开展认证

数据统计分析

看了国家奖牌排名,下面测算得到奖牌数最多的选手(留意:仅统计分析單人新项目)

这儿不用应用排序作用,只须要依照选手名字列开展頻率统计分析就可以。

数据挑选

下边挑选出所有乒乓球赛的得奖信息内容,这儿的挑选有很多种书写,你可以写下几类?

数据透視

如今查询世界各国在各新项目上的奖牌详细信息,下边是根据透視获得的回答,但你能https://www.qwhtt.top/应用应用数据排序作用吗?

数据查看

在上一题的根基上,查看中国国家队的获奖牌详细信息,留意是查看而不是挑选,因此应用上上一题的方式可能出错

人性化查询

如何把上一题的效果进一步突显展现,能够应用 pandas 中的 style

https://www.qwhtt.top/

数据恢复出厂设置

上边说到,df2 的得奖时间部分并不精确(关键表现在钟头上),因此大家索性将時间精准到天,这儿还可以应用 map 对一整列开展实际操作

排序统计分析

下面,使我们统计分析每日发生的奖牌数量

能够见到,最后一天造成的奖牌总数数最多

数据透視

再去查询不一样新项目在不一样国家的划分状况,一样也能够应用排序作用完成

数据测算

下面使我们测算我国每日总奖牌总数,你可以想起该怎么完成吗?

数据测算

最终,测算前十名世界各国每日奖牌总数统计分析,留意:针对第一天沒有数据的国家用0添充,其他时间段的缺少值用上一日数据添充。

这看上去简洁的难题,涉及到的 pandas 实际操作还真多!

条形图

最先制做奖牌排名榜

图中应用 matplotlib 制做,看上去非常好,但编码量也的确许多

层叠图

下面应用 pyecharts 绘制上一题奖牌榜各奖牌的细分化

应用 pyecharts 的优势便是应用封裝好的方式 ,编码量相比较少

环形图

如今进一步绘制中国国家队的奖牌遍布

一样应用 pyecharts ,具体行编码拿下

地形图

如今绘制奖牌遍布的热力地图

应用 pyecharts 绘制,制图编码很少,可是调节国家中英投射词典是一件痛楚的事儿

动态图片

最终绘制每日奖牌榜前十奖牌总数的动态图片,应用 matplotlib 或 pyecharts 均无法得到比较好的实际效果,因此这儿应用另一个第三方库 bar_chart_race 开展绘制

之上便是根据 2020年日本东京奥运会 数据开展的一系列数据剖析数据可视化步骤,基本上牵涉到运用 Pandas 开展数据剖析的关键实际操作,是一份难能可贵的简单易懂、有利于探寻的数据集。

置入的,因此能够应用 轻轻松松载入

Related Posts