找回密码
 会员注册
查看: 27|回复: 0

Python数据分析案例:世界杯数据可视化文末送书

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
72021
发表于 2024-9-8 12:59:20 | 显示全部楼层 |阅读模式
文章目录前期数据准备导入数据分析:世界杯中各队赢得的比赛数分析:先打或后打的比赛获胜次数分析:世界杯中的抛硬币决策分析:2022年T20世界杯的最高得分者分析:世界杯比赛最佳球员奖分析:最适合先击球或追逐的球场案例分析总结文末送书《Pandas数据分析》送书参与方式每一场体育赛事都会产生大量数据,这些数据可用于分析运动员、球队表现以及比赛中的亮点。作为分析案例,我们使用T20世界杯的数据进行分析。如果你有兴趣学习如何分析类似T20世界杯这样的体育赛事,本文将为您提供指导。在本文中,我们将使用Python来分析2022年T20世界杯的数据。前期数据准备我们使用的数据集主要的关键数据信息如下,具体数据可以直接下载原始数据进行查看:venue(比赛场馆):比赛举行的地点team1(先发击球队伍):先发击球的队伍team2(后发击球队伍):后发击球的队伍stage(比赛阶段):比赛的阶段(超级12、半决赛或决赛)tosswinner(赢得抛硬币的队伍):赢得抛硬币的队伍tossdecision(赢得抛硬币后队长的决策):队长在赢得抛硬币后的决策firstinningsscore(第一局得分):第一局得分firstinningswickets(第一局失去的击球员数):第一局失去的击球员数secondinningsscore(第二局得分):第二局得分secondinningswickets(第二局失去的击球员数):第二局失去的击球员数winner(赢得比赛的队伍):获胜的队伍wonby(赢得比赛的方式):队伍获胜的方式(击球员数或得分数)playerofthematch(比赛最佳球员):比赛的最佳球员topscorer(比赛中得分最高的球员):比赛中得分最高的球员highestscore(比赛中某球员获得的最高得分):比赛中由球员得到的最高得分bestbowler(比赛中取得最多击球员的球员):比赛中取得最多击球员的球员bestbowlingfigure(最佳投手在比赛中取得的击球员数和失去的得分数):最佳投手在比赛中取得的击球员数和失去的得分数原始数据下载:文末公众号回复D01即可下载。导入数据使用如下的代码进行导入数据,主要使用的Package是Python的pandasimportpandasaspdimportplotly.expressaspximportplotly.graph_objectsasgoimportplotly.ioaspiopio.templates.default="plotly_white"data=pd.read_csv("data\\t20-world-cup-22.csv")print(data.head())123456789打印的数据内容如下:PyDevconsole:starting.Python3.8.8(tags/v3.8.8:024d805,Feb192021,13:18:16)[MSCv.192864bit(AMD64)]onwin32...venueteam1...bestbowlerbestbowlingfigure0SCGNewZealand...TimSouthee3-61OptusStadiumAfghanistan...SamCurran5-102BlundstoneArenaIreland...MaheeshTheekshana2-193MCGPakistan...HardikPandya3-304BlundstoneArenaBangladesh...TaskinAhmed4-25[5rowsx17columns]12345678910分析:世界杯中各队赢得的比赛数现在让我们来看一看每支球队在世界杯中赢得的比赛数量:figure=px.bar(data,x=data["winner"],title="2022年T20世界杯中各队赢得的比赛数")figure.show()1234最后生成的图表:从图表中可以看出,获胜次数最多的是英格兰,他们赢得了五场比赛。而巴基斯坦和印度都赢得了4场比赛。分析:先打或后打的比赛获胜次数现在让我们来看一看在2022年T20世界杯中,先打或后打的比赛获胜次数:won_by=data["wonby"].value_counts()label=won_by.indexcounts=won_by.valuescolors=['#004c6d','#c1e7ff']fig=go.Figure(data=[go.Pie(labels=label,values=counts)])fig.update_layout(title_text='比赛胜利次数按得分或击球数来计算')fig.update_traces(hoverinfo='label+percent',textinfo='value',textfont_size=30,marker=dict(colors=colors,line=dict(color='black',width=3)))fig.show()12345678910图表分析可知,在2022年T20世界杯中,有16场比赛是由先打的一方获胜,而有13场比赛是由追击的一方获胜。分析:世界杯中的抛硬币决策现在,让我们来看一看各支球队在世界杯中的抛硬币决策:toss=data["tossdecision"].value_counts()label=toss.indexcounts=toss.valuescolors=['skyblue','yellow']fig=go.Figure(data=[go.Pie(labels=label,values=counts)])fig.update_layout(title_text='2022年T20世界杯中的抛硬币决策')fig.update_traces(hoverinfo='label+percent',textinfo='value',textfont_size=30,marker=dict(colors=colors,line=dict(color='black',width=3)))fig.show()12345678910图表分析可知,在17场比赛中,球队选择了先打,而在13场比赛中,球队选择了先防守。分析:2022年T20世界杯的最高得分者现在让我们来看一看2022年T20世界杯中的最高得分者:代码示例:figure=px.bar(data,x=data["topscorer"],y=data["highestscore"],color=data["highestscore"],title="2022年T20世界杯的最高得分者")figure.show()123456从上述柱状图表中可以看到ViratKohli在3场比赛中得分最高。毫无疑问,他是2022年T20世界杯中最出色的击球手。分析:世界杯比赛最佳球员奖现在让我们来看一看世界杯中的最佳球员奖次数:代码示例如下:figure=px.bar(data,x=data["playerofthematch"],title="世界杯比赛最佳球员奖")figure.show()1234在图表中可以直观的看出,以下是在比赛结束时获得最佳投球数据的投手:ViratKohli-2场比赛中获得最佳投手奖。SamCurran-2场比赛中获得最佳投手奖。TaskinAhmed-2场比赛中获得最佳投手奖。SuryakumarYadav-2场比赛中获得最佳投手奖。ShadabKhan-2场比赛中获得最佳投手奖。以上球员在两场比赛中获得了最佳投手奖,没有球员在超过两场比赛中获得该奖项。分析:最适合先击球或追逐的球场接下来让我们比较一下2022年T20世界杯每个球场的第一次和第二次跑分情况:fig=go.Figure()fig.add_trace(go.Bar(x=data["venue"],y=data["firstinningsscore"],name='FirstInningsRuns',marker_color='#003f5c'))fig.add_trace(go.Bar(x=data["venue"],y=data["secondinningsscore"],name='SecondInningsRuns',marker_color='#c1e7ff'))fig.update_layout(barmode='group',xaxis_tickangle=-45,title="最适合先击球或追逐的球场")fig.show()1234567891011121314151617最后根据图表分析可以得出:SCG球场的投球条件以先发制人更有利而闻名,这就是为什么许多球队在2019年世界杯期间更喜欢在该球场先发制人的原因。然而,应该注意到这种优势可能会因天气条件和投手的表现等因素而有所不同。接下来进行比较一下2022年T20世界杯每个球场的第一次和第二次失去的球数:fig=go.Figure()fig.add_trace(go.Bar(x=data["venue"],y=data["firstinningswickets"],name='FirstInningsWickets',marker_color='blue'))fig.add_trace(go.Bar(x=data["venue"],y=data["secondinningswickets"],name='SecondInningsWickets',marker_color='red'))fig.update_layout(barmode='group',xaxis_tickangle=-45,title="最适合先发球或后手防守的球场")fig.show()1234567891011121314151617从下表中可以看出:SCG是最适合在防守目标时投球的球场,而Optus体育场则是最适合先发球的球场。案例分析总结从我们的分析中,我们发现了2022年T20世界杯的一些亮点:英格兰赢得了最多的比赛场次ViratKohli在最多场比赛中得分最高SamCurran是在最多场比赛中表现最好的投手更多的球队通过先发制人获胜更多的球队选择先发制人SCG是最适合先发制人的球场SCG是世界杯中最适合防守目标的球场Optus体育场是最适合先发球的球场希望你喜欢这篇关于使用Python进行2022年T20世界杯分析的文章。如果有任何有价值的问题,请随时在下方评论区提问。文末送书《Pandas数据分析》本书详细阑述了与Pandas数据分析相关的基本解决方案,主要包括数据分析导论、使用PandasDataFrame、使用Pandas进行数据整理、聚合PandasDataFrame、使用Pandas和Matplotlib可视化数据、使用Seaborn和自定义技术绘图、金融分析、基于规则的异常检测、Python机器学习入门、做出更好的预测、机器学习异常检测等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。京东官方购买链接:https://item.jd.com/14065178.html送书参与方式图书数量:下方名片内小程序直接抽奖送出1本《Pandas数据分析》!活动时间:截止到2023/11/1521:00:00🏆抽奖方式:⭐️⭐️点击下方名片,点击菜单抽奖,即可参与(如下图)⭐️⭐️🏆会在CSDN动态公布中奖名单。名单公布时间:2023/11/1621:10:00
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 22:54 , Processed in 0.458787 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表