🧑 博主简介:曾任某智慧城市类企业
算法总监
,目前在美国市场的物流公司从事高级算法工程师
一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907
)
💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。
【数据可视化-94】2025 亚洲杯总决赛数据可视化分析:澳大利亚队 vs 中国队
- 一、引言
- 二、数据准备
- 2.1 澳大利亚队(sheet1)
- 2.2 中国队(sheet2)
- 三、环境搭建
- 四、数据可视化
- 4.1 柱状图:得分排名
- 4.2 折线图:投篮命中率
- 4.3 饼图:总篮板占比
- 4.4 柱状图:出场时间分布
- 4.5 雷达图:总篮板、助攻、抢断、盖帽、失误、犯规
- 五、生成可移动的可视化大屏
- 四、可视化结果
- 五、分析总结
一、引言
2025 年亚洲杯于 2025 年 8 月 18 日凌晨落下帷幕,中国队在决赛中以 1 分之差惜败澳大利亚队,尽管未能夺冠,但这一成绩已是中国队近十年来的最佳表现。本文将通过 Python 和 Pyecharts 对两队球员的技术统计进行可视化分析,从多个维度展示两队球员的表现,并生成炫酷的可视化大屏。
二、数据准备
本次分析的数据集包含两个 sheet:sheet1 是澳大利亚队的技术统计,sheet2 是中国队的技术统计。以下是部分数据:
2.1 澳大利亚队(sheet1)
球员 | 位置 | 出场时间 | 投篮 | 三分 | 罚球 | 前篮板 | 后篮板 | 总篮板 | 助攻 | 抢断 | 盖帽 | 失误 | 犯规 | +/- | 得分 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
麦克维 | 28:12 | 5-12 | 1-6 | 0-0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 2 | 2 | 11 | |
麦格尼 | 26:15 | 1-4 | 0-0 | 2-4 | 1 | 4 | 5 | 5 | 3 | 3 | 1 | 3 | 18 | 4 | |
库克斯 | 31:12 | 13-17 | 0-0 | 4-11 | 4 | 5 | 9 | 2 | 0 | 0 | 2 | 2 | 4 | 30 | |
… | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … |
2.2 中国队(sheet2)
球员 | 位置 | 出场时间 | 投篮 | 三分 | 罚球 | 前篮板 | 后篮板 | 总篮板 | 助攻 | 抢断 | 盖帽 | 失误 | 犯规 | +/- | 得分 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
赵睿 | 24:46 | 2-10 | 0-6 | 6-7 | 0 | 5 | 5 | 6 | 0 | 0 | 1 | 4 | 5 | 10 | |
胡金秋 | 27:52 | 8-10 | 0-0 | 4-4 | 5 | 5 | 10 | 1 | 1 | 1 | 2 | 2 | -1 | 20 | |
程帅澎 | 21:24 | 4-7 | 2-5 | 2-4 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 3 | -17 | 12 | |
… | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … |
三、环境搭建
在开始之前,确保已经安装了以下 Python 包:
pip install pandas pyecharts openpyxl
四、数据可视化
以下是完整的 Python 代码,用于读取数据、进行可视化分析,并生成炫酷的可视化大屏。
import pandas as pd
from pyecharts.charts import Bar, Line, Pie, Radar, Page
from pyecharts import options as opts
from pyecharts.globals import ThemeType# 读取数据
df_australia = pd.read_excel("2025亚洲杯总决赛数据.xlsx", sheet_name=0)
df_china = pd.read_excel("2025亚洲杯总决赛数据.xlsx", sheet_name=1)# 数据处理
def process_data(df):df['出场时间'] = df['出场时间'].apply(lambda x: int(x.split(':')[0]) + int(x.split(':')[1]) / 60)df['投篮命中率'] = df['投篮'].apply(lambda x: int(x.split('-')[0]) / int(x.split('-')[1]) if int(x.split('-')[1]) > 0 else 0)df['三分命中率'] = df['三分'].apply(lambda x: int(x.split('-')[0]) / int(x.split('-')[1]) if int(x.split('-')[1]) > 0 else 0)df['罚球命中率'] = df['罚球'].apply(lambda x: int(x.split('-')[0]) / int(x.split('-')[1]) if int(x.split('-')[1]) > 0 else 0)return dfdf_australia = process_data(df_australia)
df_china = process_data(df_china)
4.1 柱状图:得分排名
bar = (Bar(init_opts=opts.InitOpts(width="1000px", height="600px", bg_color="#0d0735")).add_xaxis(df_australia['球员'].tolist() + df_china['球员'].tolist()).add_yaxis("得分", df_australia['得分'].tolist() + df_china['得分'].tolist(), category_gap="50%")
)
4.2 折线图:投篮命中率
line = (Line(init_opts=opts.InitOpts(width="1000px", height="600px", bg_color="#0d0735")).add_xaxis(df_australia['球员'].tolist() + df_china['球员'].tolist()).add_yaxis("投篮命中率", df_australia['投篮命中率'].tolist() + df_china['投篮命中率'].tolist())
)
4.3 饼图:总篮板占比
pie = (Pie(init_opts=opts.InitOpts(width="1000px", height="600px", bg_color="#0d0735")).add("", [list(z) for z in zip(df_australia['球员'], df_australia['总篮板'])] + [list(z) for z in zip(df_china['球员'], df_china['总篮板'])])
)
4.4 柱状图:出场时间分布
map_ = (Bar(init_opts=opts.InitOpts(width="1000px", height="600px", bg_color="#0d0735")).add_xaxis(df_australia['球员'].tolist() + df_china['球员'].tolist()).add_yaxis("出场时间", df_australia['出场时间'].tolist() + df_china['出场时间'].tolist(), category_gap="50%")
)
4.5 雷达图:总篮板、助攻、抢断、盖帽、失误、犯规
# 雷达图的 Schema
c_schema = [{"name": "总篮板", "max": 40},{"name": "助攻", "max": 25},{"name": "抢断", "max": 10},{"name": "盖帽", "max": 10},{"name": "失误", "max": 15},{"name": "犯规", "max": 25},
]# 初始化雷达图
radar = Radar(init_opts=opts.InitOpts(width="1000px", height="600px", bg_color="#0d0735"))# 添加 Schema
radar.add_schema(schema=c_schema, shape="circle")# 添加数据
radar.add("澳大利亚队", [australia_mean], color="#f9713c")
radar.add("中国队", [china_mean], color="#b3e4a1")
五、生成可移动的可视化大屏
page = Page(layout=Page.DraggablePageLayout, page_title="2025亚洲杯总决赛_球队表现可视化分析")
page.add(bar, line, pie, map_, radar)
page.render("2025亚洲杯总决赛_球队表现可视化大屏.html")
四、可视化结果
运行上述代码后,会生成一个名为 2025亚洲杯总决赛_球队表现可视化大屏.html
的文件。打开该文件,可以看到以下内容:
五、分析总结
通过对 2025 年亚洲杯总决赛数据的可视化分析,我们可以得出以下结论:
- 得分能力:澳大利亚队在得分能力上略占优势,尤其是库克斯和加洛韦的表现非常突出。中国队的胡金秋和赵睿也有较高的得分,但整体得分能力稍逊一筹。
- 投篮命中率:澳大利亚队的投篮命中率普遍较高,显示出较高的进攻效率。中国队的投篮命中率相对较低,但胡金秋和赵睿的表现较为突出。
- 篮板能力:中国队在篮板球的争抢上表现出色,尤其是胡金秋以 10 个总篮板领先。这表明中国队在内线的防守和篮板球控制上做得较好。
- 助攻与抢断:澳大利亚队的麦格尼在助攻和抢断上表现突出,而中国队的赵睿和程帅澎也有不俗的表现,但在整体数据上稍逊一筹。
- 出场时间:两队的主力球员出场时间普遍较长,显示出两队在比赛中都较为依赖主力球员的表现。替补球员的出场时间相对较短,但也有一定的贡献。
尽管中国队在决赛中惜败澳大利亚队,但这一成绩已是中国队近十年来的最佳表现。通过本次比赛,中国队展现了强大的团队精神和竞技水平,未来可期。