足球- EDA的历史数据分析并可视化

足球- EDA的历史数据分析并可视化

  • 背景
  • 数据介绍
  • 探索数据时需要遵循的一些方向:
  • 数据处理
    • 导入库
    • 数据探索
  • 数据可视化
    • 赛事分析
    • 主客场比分
    • 相关性分析
    • 时间序列分析
  • 总结

背景

该数据集包括从1872年第一场正式比赛到2023年的44,341场国际足球比赛的结果。比赛范围从FIFA世界杯到FIFI Wild杯再到常规的友谊赛。这些比赛严格来说是男子国际比赛,数据不包括奥运会或至少有一支球队是国家B队、U-23或联赛精选队的比赛。

数据介绍

results.csv包括以下列:

  • date - 比赛日期
  • home_team - 主队的名字
  • away_team - 客场球队的名称
  • home_score - 全职主队得分,包括加时赛,不包括点球大战
  • away_score - 全职客队得分,包括加时赛,不包括点球大战
  • tournament - 锦标赛的名称
  • city - 比赛所在城市/城镇/行政单位的名称
  • country -比赛所在国家的名称
  • neutral - 真/假栏,表示比赛是否在中立场地进行

探索数据时需要遵循的一些方向:

谁是有史以来最好的球队

哪些球队统治了不同时代的足球

古往今来,国际足球有什么趋势——主场优势、总进球数、球队实力分布等

我们能从足球比赛中对地缘政治说些什么吗——国家的数量是如何变化的

哪些球队喜欢相互比赛

哪些国家主办了最多自己没有参加的比赛

举办大型赛事对一个国家在比赛中的胜算有多大帮助

哪些球队在友谊赛和友谊赛中最积极——这对他们有帮助还是有伤害

数据处理

import numpy as np 
import pandas as pd 
import os
for dirname, _, filenames in os.walk('/kaggle/input'):for filename in filenames:print(os.path.join(dirname, filename))

导入库

import matplotlib.pyplot as plt
import seaborn as sns

数据探索

df = pd.read_csv('/kaggle/input/international-football-results-from-1872-to-2017/results.csv')
df.head()

在这里插入图片描述

print(f"This Dataset Includes {df.shape}")

在这里插入图片描述

df.info()

在这里插入图片描述

df.describe()

在这里插入图片描述

df.describe(include=object)

在这里插入图片描述

df.isna().sum()

在这里插入图片描述

将“日期”列转换为日期时间类型

df['date'] = pd.to_datetime(df['date'])

数据可视化

赛事分析

plt.figure(figsize=(20, 12))
sns.countplot(x='tournament', data=df)
plt.xticks(rotation=90)
plt.title('Tournament Distribution')
plt.xlabel('Tournament')
plt.ylabel('Count')
plt.tight_layout()
plt.show()

在这里插入图片描述

主客场比分

plt.figure(figsize=(12, 8))
plt.subplot(1, 2, 1)
sns.histplot(df['home_score'], bins=20, kde=True)
plt.title('Distribution of Home Scores')
plt.xlabel('Home Score')
plt.ylabel('Frequency')
#Setting limit for first plot
plt.ylim(0, 40000)plt.subplot(1, 2, 2)
sns.histplot(df['away_score'], bins=20, kde=True)
plt.title('Distribution of Away Scores')
plt.xlabel('Away Score')
plt.ylabel('Frequency')
# Share y-axis between subplots
plt.ylim(0, 40000)plt.tight_layout()
plt.show()

在这里插入图片描述

相关性分析

correlation_matrix = df.corr()
plt.figure(figsize=(10, 6))
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
plt.title('Correlation Matrix')
plt.show()

在这里插入图片描述

时间序列分析

# 为年份创建新列
df['year'] = df['date'].dt.year#时间序列分析
plt.figure(figsize=(10, 6))
sns.lineplot(x='year', y='home_score', data=df, label='Home Score')
sns.lineplot(x='year', y='away_score', data=df, label='Away Score')
plt.title('Trends in Home and Away Scores over Time')
plt.xlabel('Year')
plt.ylabel('Score')
plt.legend()
plt.tight_layout()
plt.show()

在这里插入图片描述

总结

以上就是今天分享的内容

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

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

相关文章

海运费查询国际海运费知识-箱讯科技

在国际贸易中,海运是一种常见且重要的货物运输方式。了解海运费用及其查询方法以及国际海运费的相关知识对于进出口商和物流从业人员来说至关重要。本文将介绍海运费查询的方法和国际海运费的相关知识,帮助读者更好地理解和应用于实际业务中。 一、海运费…

postgresql创建一个只读账户指定数据库

要在 PostgreSQL 中创建一个只读账户,您可以按照以下步骤进行操作: 1. **登录到 PostgreSQL:** 使用具有足够权限的管理员账户(通常是 "postgres" 用户)连接到 PostgreSQL 数据库。 2. **创建只读账户&…

Spring和mybatis整合

一、Spring整合MyBatis 1. 导入pom依赖 1.1 添加spring相关依赖(5.0.2.RELEASE) spring-core spring-beans spring-context spring-orm spring-tx spring-aspects spring-web 1.2 添加mybatis相关依赖 mybatis核心:mybatis(3.4.5) Mybatis分页:pagehel…

Smartbi电子表格软件版本更新,首次推出Excel轻应用和语音播放

Smartbi电子表格软件又又又更新啦! 此次更新,首次推出了新特性——Excel轻应用和语音播报。另外,还对产品功能、Demo示例、配套文档进行了完善和迭代。 低代码开发Excel轻应用 可实现迅速发布web应用 业务用户的需求往往都处于“解决问题”…

结构型模式-代理模式

代理模式* 定义:在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 意图:为其…

MySQL的日志undolog、binlog、redolog

1. 日志层次 binlog是Server层,undolog和redolog是innodb引擎层特有的。 2. 记录了什么 & 作用 binlog 记录了所有数据库结构变更和表数据修改的SQL日志。 主要用于数据备份和主从复制,比如误删数据了可以用binlog找回。 undolog 如下图&#…

IET独立出版 | EI检索 | 2023年第三届机械、航空航天与汽车工程国际会议

会议简介 Brief Introduction 2023年第三届机械、航空航天与汽车工程国际会议(CMAAE 2023) 会议时间:2023年12月8 -10日 召开地点:中国南京 大会官网:www.cmaae.org 航天是当今世界最具挑战性和广泛带动性的高技术领域…

火山引擎边缘云,助你沉浸式回忆童年

发现了吗?在抖音、西瓜视频上能观看4K修复的经典港片了!得益于抖音、中国电影资料馆、火山引擎共同发起的“经典香港电影修复计划”,我们童年时期看过的《大话西游之大圣娶亲》《武状元苏乞儿》等22部港片以更清晰、流畅、颜色饱满的状态回归…

免300认证费小程序认证进件服务商助手SAAS平台 +小程序前端在线上传

微信小程序公众号SaaS管理系统是一款微信第三方管理系统,为中小企业提供最佳的小程序集中管理解决方案。系统免授权,可实现小程序的快速免审核注册(免300元审核费),支持微信商户进件、支付宝商户进件。整体测试下来使用无问题,前羰小程序认证通道均正常,使用小程序注册认…

学习分享:Ubuntu 下使用 Qt 打开串口报错 Permission denied

Ubuntu 下使用 Qt 打开串口报错 Permission denied 错误描述 提前声明一下,开发环境是 Ubuntu18.04,用户是非 root 用户。 因项目需求,需要使用到 Qt 收发串口数据,曾经写过一个串口调试助手的程序 通俗易懂玩QT:串口…

概率论作业啊啊啊

1 数据位置 (Measures of location) 对于数据集: 7 , 9 , 9 , 10 , 10 , 11 , 11 , 12 , 12 , 12 , 13 , 14 , 14 , 15 , 16 7,9,9,10,10,11,11,12,12,12,13,14,14,15,16 7,9,9,10,10,11,11,12,12,12,13,14,14,15,16 计算加权平均数,其中权重为: 2 , 1 , 3 , 2 ,…

SpringBootWeb 登录认证

登录认证,那什么是认证呢? 所谓认证指的就是根据用户名和密码校验用户身份的这个过程,认证成功之后,我们才可以访问系统当中的信息,否则就拒绝访问。 在前面的案例中,我们已经实现了部门管理、员工管理的…

强化学习系列--带基准线的REINFORCE算法

强化学习系列--带基准线的REINFORCE算法 介绍示例代码 介绍 在强化学习中,带基准线的REINFORCE算法是一种用于求解策略梯度的方法。REINFORCE算法(也称为蒙特卡洛策略梯度算法)可以用于训练能够从环境中学习的策略。带基准线的REINFORCE算法…

Pytorch建立MyDataLoader过程详解

简介 torch.utils.data.DataLoader(dataset, batch_size1, shuffleNone, samplerNone, batch_samplerNone, num_workers0, collate_fnNone, pin_memoryFalse, drop_lastFalse, timeout0, worker_init_fnNone, multiprocessing_contextNone, generatorNone, *, prefetch_factorN…

使用Python爬虫定制化开发自己需要的数据集

在数据驱动的时代,获取准确、丰富的数据对于许多项目和业务至关重要。本文将介绍如何使用Python爬虫进行定制化开发,以满足个性化的数据需求,帮助你构建自己需要的数据集,为数据分析和应用提供有力支持。 1.确定数据需求和采集目…

flutter ios webview不能打开http地址

参考 1、iOS添加信任 webview_flutter 在使用过程中会iOS出现无法加载HTTP请求的情况&#xff0c; 但是Flutter 却可以加载HTTP请求。这就与两个的框架有关了&#xff0c;Flutter是独立于UIKit框架的。 解决方案就是在iOS 的info.plist中添加对HTTP的信任。 <key>NSApp…

拼多多淘宝大量缓存商品数据用什么格式提供比较好?

众所周知&#xff0c;淘宝拼多多是我国主流的电商平台&#xff0c;其上有大量的商品数据。很多商家会通过API来访问他们的商品数据&#xff0c;根据API的调用次数收费。第三方数据公司提供电商数据接口API&#xff0c;采集实时数据。但是&#xff0c;在他们的服务器上有大量的缓…

【2023钉钉杯复赛】A题 智能手机用户监测数据分析 Python代码分析

【2023钉钉杯复赛】A题 智能手机用户监测数据分析 Python代码分析 1 题目 一、问题背景 近年来&#xff0c;随着智能手机的产生&#xff0c;发展到爆炸式的普及增长&#xff0c;不仅推动了中 国智能手机市场的发展和扩大&#xff0c;还快速的促进手机软件的开发。近年中国智能…

【教程】Java 集成Mongodb

【教程】Java 集成Mongodb 依赖 <dependency><groupId>org.mongodb</groupId><artifactId>mongo-java-driver</artifactId><version>3.12.14</version></dependency> <dependency><groupId>cn.hutool</groupId…

网络安全应急响应预案培训

应急响应预案的培训是为了更好地应对网络突发状况&#xff0c;实施演 练计划所做的每一项工作&#xff0c;其培训过程主要针对应急预案涉及的相 关内容进行培训学习。做好应急预案的培训工作能使各级人员明确 自身职责&#xff0c;是做好应急响应工作的基础与前提。应急响应…