Pyecharts“可视化大屏“,带你重温 “2020东京奥运会“,不看直播尽知其事!(二)

简介: Pyecharts“可视化大屏“,带你重温 “2020东京奥运会“,不看直播尽知其事!(二)

是不是此时感觉结构更清楚了?


df2 = pd.DataFrame()
for info in data2['body']['medalTableDetail']:
    english_name = info['countryName']
    name_id = info['countryId']
    award_time = info['awardTime']
    item_name = info['bigItemName']
    sports_name = info['sportsName']
    medal_type = info['medalType']
    # 组织数据
    orangized_data = [[english_name,name_id,award_time,item_name,sports_name,medal_type]]
    # 然后追加df
    df2 = df2.append(orangized_data)
df2.columns = ['英文缩写', 'ID', '获奖时间', '项目名', '运动员', '金牌类型']
df2


结果如下:

image.png


3、数据预处理

对于爬取到的数据,往往是有问题的,我们需要提前预处理一下,方便后续做可视化展示。


① 数据替换

对于上述爬取到的数据,我们做一个数据筛选。


df1 = pd.read_excel("各国奖牌数.xlsx")
df1[df1["名称"].str.contains("中国")]


结果如下:

image.png

虽说中国香港、中国台湾都单独参加了奥运会,但她们都属于中国,我们将她们的都改为中国,ID也都改为26。


df1["名称"].replace(["中国台北","中国香港"],"中国",inplace=True)
df1["ID"].replace([31,38],26,inplace=True)
df1[df1["名称"].str.contains("中国")]


结果如下:

image.png


② 数据分组

经过上述处理,那么中国就相当于有3条数据了。我们以名称+ID作为联合字段,进行分组,然后求和,将这3条数据进行合并。最后,再以金牌字段为基准,进行降序排列。


df2 = df1.groupby(["名称","ID"])[["金牌","银牌","铜牌","奖牌总数"]].sum().reset_index().sort_values(by="金牌",axis=0,ascending=False)
df2.head(10)


结果如下:

image.png


③ 中英文名映射转换

由于使用pyecharts绘制世界地图时,名称必须是英文的,所以我们需要将这里的中文名称映射为英文名称。于是我在网上找到了下面这个文件:

image.png

我们要做的就是将它与表格中的数据,做个映射转换。先把它转换为一个Excel文件吧,方便我们以后直接使用。


with open("国家名中英文对照表.txt","r",encoding="utf-8") as f:
    x = f.read()
df3 = pd.DataFrame()
for i in x.split("\n"):
    x = i.split(":")[0].strip()
    y = i.split(":")[1].strip()
    orangined_data = [[x,y]]
    df3 = df3.append(orangined_data)
df3.columns = ["名称","英文名称"]
df3.to_excel("国家名中英文对照表.xlsx",index=None)


然后,在和上述的df2表格做一个左连接即可。


df4 = pd.merge(df2,df3,on="名称",how="left")
df4


结果如下:

image.png

相关文章
|
6月前
|
Python
Python跨年烟花秀
Python跨年烟花秀
161 0
|
16天前
|
API
英雄联盟数据比分直播网定制开发源码
英雄联盟数据比分直播网/APP定制开发源码,需先处理实时与赛果数据。赛果数据通过API接口 `/api/result/lol` 获取,涵盖队伍经济、补刀、大小龙、水晶数及队员经济、经验、等级等详尽信息。支持WebSocket推送与变化信息接口拉取,确保数据完整无漏。
|
2月前
|
存储 数据可视化 数据挖掘
揭秘!Matplotlib与Seaborn联手,如何让Python数据分析结果一目了然,惊艳全场?
在数据驱动时代,高效直观地展示分析结果至关重要。Python中的Matplotlib与Seaborn是两大可视化工具,结合使用可生成美观且具洞察力的图表。本文通过分析某电商平台的商品销量数据集,展示了如何利用这两个库揭示商品类别与月份间的销售关系及价格对销量的影响。首先使用Matplotlib绘制月份销量分布直方图,再借助Seaborn的箱线图进一步探索不同类别和价格区间下的销量稳定性。
61 10
|
3月前
|
数据可视化 JavaScript 前端开发
惊世奇迹!D3.js 铸就数据可视化辉煌,探索交互式图表与效果的奇幻之旅!
【8月更文挑战第12天】在数据驱动的时代,D3.js 作为领先的 JavaScript 库,以其强大的功能和灵活性在数据可视化领域脱颖而出。开发者可通过 D3.js 构建精美的交互式图表,如简单的柱状图或具备缩放拖拽功能的折线图,甚至将数据以地图、树形结构等独特形式展现。尽管学习曲线陡峭,但它在数据分析、商业智能等领域的广泛应用使其成为专业人士传达数据故事、辅助决策制定的强大工具。
92 1
|
6月前
|
监控 数据可视化 数据挖掘
数据可视化第二版-拓展-和鲸网约车分析一等奖作品
数据可视化第二版-拓展-和鲸网约车分析一等奖作品
|
数据可视化 JavaScript 定位技术
漏刻有时数据可视化Echarts组件开发(27):端午地图粽情之你的家乡吃甜还是吃咸?
漏刻有时数据可视化Echarts组件开发(27):端午地图粽情之你的家乡吃甜还是吃咸?
124 0
漏刻有时数据可视化Echarts组件开发(27):端午地图粽情之你的家乡吃甜还是吃咸?
|
移动开发 JavaScript Java
游戏转播平台源码分享(类虎牙斗鱼系统源码)
数字化时代,娱乐游戏产业蓬勃发展,游戏转播平台成为了各类游戏爱好者分享游戏乐趣的热门选择。为满足市场需求,东莞梦幻网络科技开发了一款全功能的游戏转播平台源码,该源码可供开发者搭建类似于虎牙斗鱼平台的系统。具备APP安卓端、APP苹果端、H5网页端和PC端的游戏转播平台,提供游戏转播、视频模块、社区论坛、新闻话题等多样化功能。采用了PHP、Java、Vue和Objective-C 编程语言开发。
|
域名解析 前端开发 安全
世界杯NBA欧冠体育赛事比分直播竞猜平台搭建解决方案(源码部署详细流程)
随着体育直播技术的发展,越来越多的人开始通过网络观看比赛和参与竞猜。搭建一款体育赛事比分直播竞猜平台成为了很多人关注的话题。
|
安全 测试技术
赛事直播攻略:最新推出「体育比分网站APP竞猜源码解决方案」
随着体育比赛的普及和人们对于赛事直播的需求不断增加,越来越多企业和机构希望搭建自己的赛事平台。为了帮助用户更加高效、便捷地搭建自己的赛事平台,东莞梦幻网络公司推出了一款名为「体育比分网站APP竞猜源码解决方案」的产品,旨在为用户提供节省费用和开发时间的解决方案。本篇文章将为大家介绍如何使用这款产品进行赛事直播,并给出一些实用的攻略。
|
数据可视化
Pyecharts“可视化大屏“,带你重温 “2020东京奥运会“,不看直播尽知其事!(三)
Pyecharts“可视化大屏“,带你重温 “2020东京奥运会“,不看直播尽知其事!(三)
Pyecharts“可视化大屏“,带你重温 “2020东京奥运会“,不看直播尽知其事!(三)