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

目录
打赏
0
0
0
0
9
分享
相关文章
惊世奇迹!D3.js 铸就数据可视化辉煌,探索交互式图表与效果的奇幻之旅!
【8月更文挑战第12天】在数据驱动的时代,D3.js 作为领先的 JavaScript 库,以其强大的功能和灵活性在数据可视化领域脱颖而出。开发者可通过 D3.js 构建精美的交互式图表,如简单的柱状图或具备缩放拖拽功能的折线图,甚至将数据以地图、树形结构等独特形式展现。尽管学习曲线陡峭,但它在数据分析、商业智能等领域的广泛应用使其成为专业人士传达数据故事、辅助决策制定的强大工具。
178 1
百度Echarts消防训练成绩大数据可视化综合分析系统开发实录(1)饼图表格互动篇
百度Echarts消防训练成绩大数据可视化综合分析系统开发实录(1)饼图表格互动篇
120 0
百度Echarts消防训练成绩大数据可视化综合分析系统开发实录(1)饼图表格互动篇
世界杯NBA欧冠体育赛事比分直播竞猜平台搭建解决方案(源码部署详细流程)
随着体育直播技术的发展,越来越多的人开始通过网络观看比赛和参与竞猜。搭建一款体育赛事比分直播竞猜平台成为了很多人关注的话题。
Pyecharts“可视化大屏“,带你重温 “2020东京奥运会“,不看直播尽知其事!(一)
Pyecharts“可视化大屏“,带你重温 “2020东京奥运会“,不看直播尽知其事!(一)
Pyecharts“可视化大屏“,带你重温 “2020东京奥运会“,不看直播尽知其事!(一)
Pyecharts“可视化大屏“,带你重温 “2020东京奥运会“,不看直播尽知其事!(三)
Pyecharts“可视化大屏“,带你重温 “2020东京奥运会“,不看直播尽知其事!(三)
Pyecharts“可视化大屏“,带你重温 “2020东京奥运会“,不看直播尽知其事!(三)
用了它,你不再羡慕别人家的数据可视化效果多好看
数据可视化是数据领域一个重要的分支,目的是“让数据说话”,展现数据之美。好的图表会说话,好的图表可以抓住用户的心。 研究发现:人脑处理图片信息是同步进行的,而处理文字信息则是一步一步循序渐进的,而且一篇文字下来,大部分人只记住了其中的20%;人在看报纸时,99%的文字信息会自动被过滤掉,脑子里只残留了可怜的1%;人脑处理图片的速度是处理文字的6000倍。 也就是说,一篇6000字的文章需要10分钟看完,而压缩成一张图片则只需要10/6000分钟的时间。 当我们看到下面这张图的时候,我们第一时间是什么反应:
用了它,你不再羡慕别人家的数据可视化效果多好看
码农也来玩奥运开幕式“超级变变变”!相机动捕,实时转换赛事图标,项目开源可试玩
码农也来玩奥运开幕式“超级变变变”!相机动捕,实时转换赛事图标,项目开源可试玩
270 0