世界杯球队分析

文章目录

  • 1. 本文思路
  • 2.数据介绍
    • 2.1 results.csv数据集
    • 2.2 shootouts.csv数据集
  • 3. 数据分析
    • 3.1 多维度分析
    • 3.2 数据分析案例
      • 3.2.1 导入模块
      • 3.2.2 导入数据
        • 1.遍历目录
        • 2.读取数据
      • 3.2.3 查看描述数据
        • 1.查看数据
        • 2. 获取所有世界杯比赛的数据
        • 3. 查看包含FIFA的类型
        • 4. 获取世界杯数据不包含预选赛
        • 5. 数据转化时间类型
        • 6.计算进球得分数据
        • 7. 根据得分数据构造赢球字段
      • 3.2.4 获取世界杯主场比赛的比赛结果分析
        • 1.查看空缺值
        • 2.删除空缺值
        • 3.添加主场胜负平列
        • 4. 获取世界杯主场比赛的比赛结果分析
    • 3.3 其它相关分析
  • 4. 总结

1. 本文思路

在世界杯⚽️期间,想起一个主题,根据往年的球队信息,进行一些分析,如果可以预测今年球队名次更佳(😄美滋滋💯 )。

如果你更感兴趣各种emoji表情的内容,也可以通过emoji官网找到对应的代码,python中也提供了对应的emoji库。

世界杯球队分析:
kaggle上世界杯的数据集
kaggle相关分析参考
CSDN上热门球队夺冠分析
数据分析阶段参考:https://baijiahao.baidu.com/s?id=1750933727392335087

2.数据介绍

本数据集来源于kaggle,CSDN的下载地址为https://download.csdn.net/download/m0_38139250/87231076:
数据集下包含3个文件,分别是:
在这里插入图片描述
该数据集包括从1872年第一场正式比赛到2022年的44152场国际足球比赛结果。比赛范围从国际足联世界杯到国际足球联合会野生杯,再到普通的友谊赛。这些比赛严格来说都是男足国际比赛,数据不包括奥运会或至少有一支球队是国家b队、U-23或联赛精选球队的比赛。

2.1 results.csv数据集

数据集截图:
在这里插入图片描述

results.csv数据集的字段含义如下:

date - date of the match 比赛日期
home_team - the name of the home team 主队名称
away_team - the name of the away team 客队名称
home_score - full-time home team score including extra time, not including penalty-shootouts 主队进球数 (不含点球)
away_score - full-time away team score including extra time, not including penalty-shootouts 客队进球数 (不含点球
tournament - the name of the tournament 比赛的类型
city - the name of the city/town/administrative unit where the match was played 比赛所在城市
country - the name of the country where the match was played 比赛所在国家
neutral - TRUE/FALSE column indicating whether the match was played at a neutral venue 比赛是否在中立场地进行

2.2 shootouts.csv数据集

数据集截图:
在这里插入图片描述

shootouts.csv 点球大战数据集 包含如下的字段:

date - date of the match 比赛日期
home_team - the name of the home team 主场球队名称
away_team - the name of the away team 客场球队名称
winner - winner of the penalty-shootout 点球大战的胜利者

关于球队和国家名称:
主队和客场队都使用了球队当前的队名。例如,1882年,一支自称爱尔兰的球队与英格兰队比赛,在这个数据集中,它被称为北爱尔兰,因为现在的北爱尔兰队是1882年爱尔兰队的继承者。这样做是为了更容易跟踪团队的历史和统计数据。
对于国家名称,使用比赛时的国家名称。所以当加纳在20世纪50年代在黄金海岸的阿克拉比赛时,尽管主队和国家队的名字并不匹配

3. 数据分析

3.1 多维度分析

数据分析时,如果选择有效的切入点呢,一般而言,多维度分析是切实可行的方法。
多维度分析实质是细分分析,多维度分析对精细化运营的作用非常重要。多维度分析主要基于两个地方展开,一个是指标的细化,一个是维度的多元,比如时间维度,竞品维度等。管理层通常看的是综合指标,总值。但是这些总值无法真正发现问题。而运营通常需要根据具体的、细分的数据来支撑决策。比如从用户角度看,每天访问用户100万,每天购买的用户1万,但这100万个用户是通过什么渠道知道平台的,在平台哪个模块停留时间长,哪个模块转化率高需要通过指标细分,才能下结论。

3.2 数据分析案例

3.2.1 导入模块

from mpl_toolkits.mplot3d import Axes3D # 绘制3D图像
from sklearn.preprocessing import StandardScaler # 数据预处理标准化
import matplotlib.pyplot as plt # 绘图
import numpy as np # 线性代数
import os # 访问目录结果
import pandas as pd # 数据读取与处理

3.2.2 导入数据

1.遍历目录

for dirname, _, filenames in os.walk(r'F:\公司\20221124XX大学\世界杯数据集'):for filename in filenames:print(os.path.join(dirname, filename))

输出为:

F:\公司\20221124XX大学\世界杯数据集\goalscorers.csv
F:\公司\20221124XX大学\世界杯数据集\results.csv
F:\公司\20221124XX大学\世界杯数据集\shootouts.csv

os.walk()函数参考链接

2.读取数据

nRowsRead = None # 如果为None,则读取整个文件
# results.csv 有 40839  行数据
df1 = pd.read_csv(r'F:\公司\20221124XX大学\世界杯数据集\results.csv', delimiter=',', nrows = nRowsRead)
df1.dataframeName = 'results.csv'
nRow, nCol = df1.shape
print(f'该数据集有{nRow} 行,{nCol} 列')

3.2.3 查看描述数据

1.查看数据

查看前5条

df1.head(5)

输出为:
在这里插入图片描述

查看数据类型等信息

df1.info()

输出为:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 44206 entries, 0 to 44205
Data columns (total 9 columns):#   Column      Non-Null Count  Dtype  
---  ------      --------------  -----  0   date        44206 non-null  object 1   home_team   44206 non-null  object 2   away_team   44206 non-null  object 3   home_score  44202 non-null  float644   away_score  44202 non-null  float645   tournament  44206 non-null  object 6   city        44206 non-null  object 7   country     44206 non-null  object 8   neutral     44206 non-null  bool   
dtypes: bool(1), float64(2), object(6)
memory usage: 2.7+ MB

2. 获取所有世界杯比赛的数据

# 获取比赛类型包含FIFA世界杯的数据
df_FIFA_all = df1[df1['tournament'].str.contains('FIFA', regex=True)]
df_FIFA_all

输出为:
在这里插入图片描述

3. 查看包含FIFA的类型

df_FIFA_all['tournament'].unique()

输出为:

array(['FIFA World Cup', 'FIFA World Cup qualification','FIFA 75th Anniversary Cup'], dtype=object)

4. 获取世界杯数据不包含预选赛

df_FIFA = df_FIFA_all[df_FIFA_all['tournament']=='FIFA World Cup']
df_FIFA

输出为:
在这里插入图片描述

5. 数据转化时间类型

转换时间格式,生成新的年份数据

df_FIFA.loc[:,'date'] = pd.to_datetime(df_FIFA.loc[:,'date'])
df_FIFA['year'] = df_FIFA['date'].dt.year
df_FIFA

输出为:
在这里插入图片描述

6.计算进球得分数据

df_FIFA['diff_score'] = df_FIFA['home_score']-df_FIFA['away_score']
df_FIFA['diff_score'] = pd.to_numeric(df_FIFA['diff_score'])
df_FIFA

输出为:
在这里插入图片描述

7. 根据得分数据构造赢球字段

df_FIFA['win_team'] = ''
# 如果分数差为正 则赢的队为主队 
df_FIFA.loc[df_FIFA['diff_score']> 0, 'win_team'] = df_FIFA.loc[df_FIFA['diff_score']> 0, 'home_team']
# 如果分数差为负 则赢的队为客队
df_FIFA.loc[df_FIFA['diff_score']< 0, 'win_team'] = df_FIFA.loc[df_FIFA['diff_score']< 0, 'away_team']
# 如果分数差为0 则平局
df_FIFA.loc[df_FIFA['diff_score']== 0, 'win_team'] = 'Draw'
df_FIFA

输出为:
在这里插入图片描述

3.2.4 获取世界杯主场比赛的比赛结果分析

1.查看空缺值

df_FIFA[['home_team','diff_score']].isna().sum()

输出为:

home_team     0
diff_score    4
dtype: int64

2.删除空缺值

df_FIFA_no_na = df_FIFA[['home_team','diff_score']].dropna()
df_FIFA_no_na

3.添加主场胜负平列

df_FIFA_no_na['主场赢'] = ""df_FIFA_no_na.loc[:,'主场赢'].loc[df_FIFA_no_na['diff_score']<0] = "胜"
df_FIFA_no_na.loc[:,'主场赢'].loc[df_FIFA_no_na['diff_score']>0] = "负"
df_FIFA_no_na.loc[:,'主场赢'].loc[df_FIFA_no_na['diff_score']==0]= "平"
df_FIFA_no_na['主场赢'].value_counts()

输出为:

427308209

4. 获取世界杯主场比赛的比赛结果分析

s = df_FIFA_no_na.groupby('主场赢')['主场赢'].count()
# s.sort_values(ascending=False, inplace=True)
s

输出为:

主场赢
平    209308427
Name: 主场赢, dtype: int64

可视化分析

import matplotlib%matplotlib inline
font = {'family':'SimHei','weight':'bold','size':12
}
matplotlib.rc("font", **font)
matplotlib.rcParams['axes.unicode_minus']=False
s.plot(kind = 'bar', figsize=(10, 6))

输出为:
在这里插入图片描述

3.3 其它相关分析

针对这些数据,还可以进行其它分析,看你的创意啦~~~
在研究数据时,可以遵循以下几个方向:

1.谁是有史以来最好的球队
2.哪些球队统治着不同的足球时代
3.历史上国际足球的发展趋势是什么——主场优势、总进球数、球队实力分布等等
4.我们能从足球赛程中谈谈地缘政治吗?国家的数量是如何变化的?哪些球队喜欢彼此比赛
5.哪些国家举办的比赛最多,而他们自己却不参加
6.举办一场大型赛事对一个国家的世界杯机会有多大帮助

4. 总结

可以针对这份数据集,进行如下操作:

1.使用爬虫获取csdn中的下载数据
2.加载数据
3.数据处理
4.数据分析
5.数据可视化
6.数据挖掘预测,预测今年谁是冠军吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27146.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NBA比赛数据分析与预测

我的任务利用13到16年的NBA比赛统计数据&#xff0c;去预测17年的每场NBA比赛。数据是从http://www.basketball-reference.com/这个网站获得的。前期参考了https://www.shiyanlou.com/courses/782/labs/2647/document这里的分析与实现方法。这个实验楼里实现用了LogisticRegres…

使用python爬取足球比赛数据,关于足球预测策略模型,这是我见过唯一三年都盈利的

市场上有很多基于程序自动化的足球预测模型&#xff0c;我本人也不断摸索&#xff0c;自学python&#xff0c;最终实现了程序预测的自动化&#xff0c;并且验证了很多策略&#xff0c;几乎所有的模型都是阶段性表现很不错&#xff0c;但是长期总体下来&#xff0c;都达不到预期…

大数据+NCAA=?球迷情绪预测体育赛事结果

点击上方蓝字关注我们 每年三月&#xff0c;有一项赛事将吸引全世界篮球迷的眼光&#xff0c;那就是全国大学篮球联赛&#xff08;NCAA&#xff09;的“疯狂三月”。 “疯狂三月”指的是NCAA男子甲组&#xff08;Division 1&#xff09;篮球锦标赛&#xff0c;赛程从3月中旬持…

生成模型的2022年——人工智能AIGC顶级论文回顾

2022年是生成模型奇幻发展的一年&#xff0c;Stable Diffusion&#x1f3a8;创造了超现实主义的艺术&#xff0c; ChatGPT &#x1f4ac;回答了生命意义的问题&#xff0c;Make a Video&#x1f3a5;从文本生成了栩栩如生的马儿&#xff0c;DreamFusion✨生成了不可思议的三维模…

大语言模型

前言&#xff1a; Open AI推出Chat GPT后&#xff0c;风靡全球。AI的强大表现让人折服&#xff0c;带来的商业效应已经逐渐扩散开来。随着人工智能越来越强&#xff0c;未来人们的生活受到影响也会越来越广泛。 继 OpenAI 推出 ChatGPT 后&#xff0c;微软迅速上线基于 GPT 模型…

OpenAI 利用基于“一致性”的图像生成器超越扩散模型

图像生成领域发展迅速。 尽管 Midjourney 和 Stable Diffusion 等流行工具使用的扩散模型可能看起来是我们所拥有的最好的&#xff0c;但下一个东西总是会出现——OpenAI 可能会用“一致性模型”来解决它&#xff0c;它已经可以完成简单的任务和 数量级比 DALL-E 之类的快。 该…

扩散模型和Transformer梦幻联动!替换U-Net,一举拿下新SOTA!

点击下方卡片&#xff0c;关注“CVer”公众号 AI/CV重磅干货&#xff0c;第一时间送达 点击进入—>扩散模型微信技术交流群 转载自&#xff1a;量子位 “U-Net已死&#xff0c;Transformer成为扩散模型新SOTA了&#xff01;” 就在ChatGPT占尽AI圈风头时&#xff0c;纽约大学…

扩散模型diffusion model用于图像恢复任务详细原理 (去雨,去雾等皆可),附实现代码

文章目录 1. 去噪扩散概率模型2. 前向扩散3. 反向采样3. 图像条件扩散模型4. 可以考虑改进的点5. 实现代码 话不多说&#xff0c;先上代码&#xff1a; 扩散模型diffusion model用于图像恢复完整可运行代码&#xff0c;附详细实验操作流程 令外一篇简化超分扩散模型SR3来实现图…

0基础学习diffusion_model扩散模型【易理解的公式推导】Denoising Diffusion Probabilistic Models

0基础学习diffusion_model扩散模型【易理解的公式推导】 一、概述二、扩散过程(已知X0求Xt)三、逆扩散过程(已知Xt求Xt-1)1。算法流程图四、结论五、损失函数六、心得体会(优缺点分析)一、概述 DDPM论文链接: Jonathan Ho_Denoising Diffusion Probabilistic Models(NeurIPS…

07.04.2023 日语笔记

貰『もら』える&#xff08;可以……吗&#xff1f;&#xff09; コーヒーをテイクアウトでもらえますか。&#xff08;可以打包咖啡吗&#xff1f;&#xff09; マグカップで、飲み物をもらえますか。&#xff08;可以自带杯子吗&#xff1f;&#xff09; マグカップ&#x…

红蓝宝书1000题 新日本语能力考试N1文字.词汇.文法 练习+详解

红蓝宝书1000题 新日本语能力考试N1文字.词汇.文法 练习详解pdf百度云免费下载 本书是继《新版中日交流标准日本语》初、中级后,由人民教育出版社与日本光村图书出版株式会社通力合作、精心编写的一套日语自学读本。 本书由知名的日本语学、汉学以及日语教育界的学者执笔,充分…

apple watch可以使用第三方表盘了,Apple Watch 更换第三方表盘需求

apple watch可以使用第三方表盘了&#xff0c;Apple Watch 更换第三方表盘需求 对于 Apple Watch 用户来说&#xff0c;表盘的选择太少而且过于单调。那么&#xff0c;自带的表盘看腻了如何更换第三方表盘呢&#xff1f; 前几代apple watch无法使用新表盘&#xff0c;想要实现更…

Applewatch6/ Applese价格曝光 苹果最新款手表参数区别对比

价格方面&#xff0c;Apple Watch Series 6GPS 版 3199 元起售&#xff0c;蜂窝网络版 3999 元起售。Apple Watch SE GPS 版 2199 元起售&#xff0c;蜂窝网络版 2499 元起售。 Apple Watch Series 6 新品活动 优惠空前机会不容错过 https://www.apple.com.cn/6 Apple Watch Se…

苹果手表计算机功能键,Apple Watch上的2个按键是这么玩的

原标题&#xff1a;Apple Watch上的2个按键是这么玩的 点评&#xff1a;苹果不说&#xff0c;但是你要知道的用法。 Apple Watch是苹果全新的产品&#xff0c;代表了苹果全新的设计理念&#xff0c;如此一来&#xff0c;操作和交互方式就与手机自然也有所不同。结果有的小伙伴把…

如何设置并将你的iWatch和iPhone配对

如何设置并将你的iWatch和iPhone配对 一旦你买到一个iWatch&#xff0c;拿回家并拆封&#xff0c;下面教你如何设置。 iWatch是这样一个装置&#xff0c;它被设计出来和你的iPhone一起使用。它可以说是一个iPhone配件&#xff0c;它们的关系非常亲密。这也是为什么设置iWatch感…

Apple Watch发售在即 苹果门店大变脸

本周五&#xff0c;苹果公司将正式发售人气如虹的智能手表Apple Watch&#xff0c;有意购买者将有机会尝试不同尺寸、表带款式和设定&#xff0c;并在4月24日正式铺货前先行预订。 苹果零售业务主管安吉拉阿伦茨&#xff08;Angela Ahrendts&#xff09;一直在和首席设计师乔尼…

android+wear+和iphone,Android Wear手表兼容iPhone:和苹果抢用户

原标题&#xff1a;Android Wear手表兼容iPhone&#xff1a;和苹果抢用户 北京时间9月1日早间消息&#xff0c;不愿使用Apple Watch智能手表的用户现在有了新选择&#xff1a;Android Wear设备。 Android Wear首席产品经理杰夫常(Jeff Chang)表示&#xff0c;Android Wear将通过…

如何更改Apple Watch 上的表盘?

我们在使用Apple Watch的时候&#xff0c;您可以为表盘选取不同的设计、调整颜色&#xff0c;以及添加复杂功能。您甚至可以将时间提前。那我们该如何操作呢&#xff1f;需要的朋友快和小编一起来看看吧&#xff01; 如何在 Apple Watch 上切换表盘 1.在表盘上&#xff0c;从…

Apple Watch使用指南:所有Apple Watch图标和符号含义

Apple Watch是iPhone的缩影&#xff0c;具有“ n”个功能&#xff0c;苹果为它们制定了各种不同的图标和符号。这篇文章详细总结了所有Apple Watch图标和符号含义&#xff0c;还不了解的朋友快来学习一下吧&#xff01; 雷电的力量 1、绿色闪电 我们大多数人都知道这个常见标…

watch的使用方法

1、 通过 watch 监听 data/computed 数据的变化。 2、通过 watch 监听 obj 数据的变化。&#xff08;深度监听 deep&#xff09; 因为修改是修改的对象里某个属性的值,监听不到user对象,所以要深度监听 网页打开 handler就执行一次 3.通过 watch 监听 data 数据的…