




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
用Python模拟2018世界杯夺冠之路(共五则范文) 第一篇:用Python模拟2018世界杯夺冠之路用Python模拟2018世界杯夺冠之路2018俄罗斯世界杯小组抽签出炉,几家欢喜几家愁。世界杯从来就不乏看点,东道主俄罗斯能走多远、德国能否卫冕、西班牙是否有望东山再起、两位球王谁更接近大力神杯...距世界杯开幕还有半年时间,一切都是未知数,不过整个赛程已定,我完全按照赛程模拟了所有64场比赛比分1000次,得出了A~H组各自的出线形势、每支队伍进四强的概率、以及最终的夺冠概率。一切结果,先卖个关子。做这件事分四个步骤:爬数据计算球队进球、失球均值,构建泊松模型模拟1000次世界杯赛事统计出线概率、夺冠概率、四强概率爬数据上一篇文章用Python分析本赛季英超争四形势提到从OPTA抓取数据,由于接口权限不对外公开,现在我改用公开的免费数据,方便大家自行抓取。这次所有比赛数据、赛程数据是我从球探网上抓的。利用selenium库,我将每只参赛国家队最近一年的比赛数据都抓取下来,保存成Pandas库的数据框。举个例子,这是葡萄牙国家队的页面,以及下面一张截图是抓下来存储的干净数据框。葡萄牙国家队葡萄牙国家队的Pandas数据框计算球队进球、失球均值,构建泊松模型泊松模型是模拟比赛的核心算法,理论在用Python分析本赛季英超争四形势文章中介绍过。针对国家队,我做了以下修改:若进球数4'eeimg='1'>,强制。这是因为热身赛双方实力差距过大,德国8:0马来西亚,这种差距在世界杯决赛圈几乎不存在。亚洲球队与欧洲球队水平存在一个差异值,需要整体乘以一个系数。韩国场均进2球,相比德国场均1.5球,韩国的对手亚洲球队居多,德国打过欧洲杯对手实力不俗,韩国的场均2球必须打折扣。得到计算结果,按进攻实力排序,欧洲豪强与南美双雄占据前列。(尾部的球队没有列出来)模拟1000次世界杯赛事先解决如何模拟一场比赛。淘汰赛与小组赛不同,如果打成平局必须进行点球大战,决出胜负。点球大战就设定各自50%概率晋级,下面这个simulate_match函数传入knockout参数为True时,就会激发这个机制,返回晋级的球队名。如果不是knockout,就是小组赛,就是输出模拟的比分。importscipyasspimportpandasaspd#读取球队进球率、失球率参数team_strength=pd.read_csv('球队攻防参数.csv')#每一场球生成几次泊松随机数,次数越多随机因素越小n_sim=5defsimulate_match(team_A,team_B,knockout=False):'''模拟一场比赛,返回主队进球数、客队进球数'''#获取比赛双方进球率、失球率home_scoring_strength=(team_strength.loc[team_A,'alpha']+team_strength.loc[team_B,'beta'])/2away_scoring_strength=(team_strength.loc[team_A,'beta']+team_strength.loc[team_B,'alpha'])/2#模拟n次比赛进球数取众数fs_A=sp.stats.mode(poisson.rvs(home_scoring_strength,size=n_sim))[0][0]fs_B=sp.stats.mode(poisson.rvs(away_scoring_strength,size=n_sim))[0][0]print(team_A,fs_A,team_B,fs_B)#进入淘汰赛,若平局,点球大战晋级概率50%:50%ifknockout:iffs_A==fs_B:return[team_A,team_B][sp.random.randint(0,2)]eliffs_A>fs_B:returnteam_Aelse:returnteam_Breturnfs_A,fs_B#例如:simulate_match('阿根廷','尼日利亚',knockout=True)>>阿根廷接下来是赛程,小组赛有6场每个组,8组共48场。按照赛程我手动写入列表里,比如A组的比赛按顺序,对战双方分别是这样:#小组每场比赛对阵双方:[主队,客队]fixture_A=[['俄罗斯','沙特阿拉伯'],['埃及','乌拉圭'],['俄罗斯','埃及'],['乌拉圭','沙特阿拉伯'],['沙特阿拉伯','埃及'],['俄罗斯','乌拉圭']]然后建了一个类,每个组分别各自初始化自己的类,传入参数fixture就是上面创建的赛程,只需调用play函数就可以模拟该小组6场比赛比分。self.table是小组积分榜,保存下来每次模拟的小组头两名球队名

春景****23
实名认证
内容提供者


最近下载
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种胃肠道超声检查助显剂及其制备方法.pdf
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf