🤵♂️ 个人主页:@艾派森的个人主页
✍🏻作者简介:Python学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+
目录
1.项目背景
2.数据集介绍
3.技术工具
4.导入数据
5.数据可视化
文末推荐与福利
1.项目背景
研究国际象棋顶级棋手数据的可视化分析可以为棋手、教练、和象棋爱好者提供深入洞察,并揭示国际象棋领域的趋势、模式和关键因素。以下是该实验的研究背景:
-
棋手表现评估: 国际象棋是一项高度竞争的运动,顶级棋手的表现受多种因素影响,包括棋局胜率、开局选择、中局战术、和终局技巧。通过可视化分析这些因素,我们可以更好地了解什么样的策略和技术在顶级比赛中更为成功。
-
发展趋势分析: 通过追踪不同年代的顶级棋手,可以分析国际象棋领域的演变。这可能包括开局流行趋势的变化、新兴的棋局战术和不同棋手之间的对弈模式。这有助于理解棋局发展的方向,并对未来的象棋战术和策略产生启示。
-
比赛统计和对局风格: 可视化分析可以揭示顶级棋手之间的比赛统计,包括胜率、平局率、败局率等。同时,可以探讨不同棋手的对局风格,例如攻击性、防守性或者中性。这对棋手个性的研究以及比赛中的策略选择提供了深入理解。
-
年龄与棋力关系: 通过分析顶级棋手的年龄和他们的国际象棋等级分(Elo分数)之间的关系,可以了解国际象棋高手的职业生涯发展轨迹。这有助于预测棋手在不同阶段的职业生涯可能面临的挑战和机会。
-
开局选择和变革: 可以通过可视化分析研究顶级棋手在开局阶段的选择,探讨哪些开局变革在当前国际象棋领域中变得流行。这对棋手和教练提供了指导,可以帮助他们优化开局准备。
综合而言,国际象棋顶级棋手数据的可视化分析有助于提供对象棋领域深入洞察的工具,为棋手提供改进策略的建议,为教练制定培训计划提供指导,并为象棋社区提供有趣的见解和启示。
2.数据集介绍
本数据集来源于Kaggle,原始数据集共有1071条,4个变量,各变量含义解释如下:
GM:玩家的官方头衔
Player:玩家姓名
Rating | Ranking:国际棋联评级 |世界排名
Federation:国际象棋棋手联合会
关于此数据集
利用此数据集探索国际象棋世界,该数据集包含顶级棋手、他们当前的评级、全球排名以及各自的联合会。深入了解国际象棋的竞争格局,深入了解各国顶尖棋手。
3.技术工具
Python版本:3.9
代码编辑器:jupyter notebook
4.导入数据
导入第三方库并加载数据
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
df=pd.read_csv('top_chess_players.csv')
df.head()
查看数据大小
查看数据基本信息
查看数据描述性统计
统计缺失值情况
发现有24个缺失值需要处理
删除缺失值
统计重复值情况
删除重复值
拆分排名和评分
# 拆分排名和评分
def split_rating(string):
if pd.isnull(string):
return np.nan
string = str(string)
part = string.split('| #')
return int(part[0])
def split_ranking(string):
if pd.isnull(string):
return np.nan
string = str(string)
part = string.split('| #')
if len(part) > 1:
return int(part[1])
else:
return np.nan
df['Rating'] = df['Rating | Ranking'].apply(split_rating)
df['Ranking'] = df['Rating | Ranking'].apply(split_ranking)
df.head()
5.数据可视化
# 世界排名前十的棋手
top_player_by_rank=df[['Player','Ranking']].head(10)
plt.figure(figsize=(10,6))
ax=sns.barplot(data=top_player_by_rank, x='Player', y='Ranking',palette='rocket')
plt.xticks(rotation=90)
plt.show()
# 游戏玩家分布
plt.figure(figsize=(10,6))
ax=sns.countplot(x='Title',data=df,palette='rocket')
plt.show()
# 各联盟球员分布
plt.figure(figsize=(14,6))
ax=sns.countplot(x='Federation',data=df,palette='rocket')
plt.xticks(rotation=90)
plt.show()
# 顶级国际象棋联合会平均最高评级
import matplotlib.pyplot as plt
top_fed = df.groupby('Federation')['Rating'].median().sort_values(ascending=False).head(5)
plt.figure(figsize=(6, 6))
plt.pie(x=top_fed.values, labels=top_fed.index, autopct=lambda p: '{:.2f}'.format(p * sum(top_fed.values) / 100), startangle=140, colors=plt.cm.Set3.colors, explode=[0.2, 0, 0, 0, 0], shadow=True)
plt.title('Average Ratings of Top Federation')
plt.axis('equal')
plt.show()
top_im=df[df['Title']=='IM'].sort_values(by='Ranking',ascending=True)[['Player','Rating','Ranking']].head(10)
top_im
# IM排名前十
ax=sns.barplot(y='Player',x='Ranking',data=top_im,palette='rocket_r')
plt.xlabel('Player Name')
plt.title('Top 10 IM Title Holder Chess Player by Ranking')
plt.show()
# 排名前10的国际象棋选手
top_player_by_rating=df[['Player','Rating']].head(10)
plt.figure(figsize=(10,6))
ax=sns.barplot(data=top_player_by_rating, x='Player', y='Rating',palette='rocket')
plt.xticks(rotation=90)
plt.show()
文末推荐与福利
《巧用ChatGPT轻松学演讲》免费包邮送出3本!
内容简介:
本书从基础的演讲知识入手,到演讲稿的写作技巧,再到系统地指导读者如何有效地利用ChatGPT进行演讲稿写作和演讲练习,最后通过实际的行业案例进行深入的学习和实战应用。使读者不仅可以系统地学习演讲的相关知识,还能对如何利用ChatGPT进行有效的演讲有更为深入的理解。
本书分为23章,主要内容包括演讲的基础知识,讲述基本的演讲原则和技巧;演讲稿的写作,引导读者了解如何撰写吸引人的演讲稿;演讲的表达,讲解演讲的身体语言和音调控制;演讲的实战技巧,实例演示如何在实际场合中有效地发表演讲;详细介绍ChatGPT的功能和应用方法,教你如何编写提示词,使用ChatGPT写演讲稿,使用ChatGPT练习演讲,并使用ChatGPT应对演讲挑战;以及探索国内大模型的应用与技巧迁移。最后,还提供了各行业的演讲稿案例。
本书内容通俗易懂,案例丰富,实用性强,特别适合希望提升演讲能力的读者阅读,也适合需要进行公众演讲的职业人士。另外,本书也适合作为相关培训机构的教材使用。
编辑推荐:
(1)系统:ChatGPT助力,全流程解锁演讲思维与技巧。
(2)经典:凝聚作者10年传播学经验,全面呈现卓越演讲技能。
(3)深入:近30个场景演讲案例,逐层剖析,AI引领演讲能力再升级。
- 抽奖方式:评论区随机抽取3位小伙伴免费送出!
- 参与方式:关注博主、点赞、收藏、评论区评论“人生苦短,拒绝内卷!”(切记要点赞+收藏,否则抽奖无效,每个人最多评论三次!)
- 活动截止时间:2024-3-26 20:00:00
当当:http://product.dangdang.com/29688763.html
京东:https://item.jd.com/14380418.html
名单公布时间:2024-3-26 21:00:00
资料获取,更多粉丝福利,关注下方公众号获取