电商网站建设流程,品牌网站建设小蝌蚪2a,网站建设信息模板下载,找人代做网站费用足球- EDA的历史数据分析并可视化 背景数据介绍探索数据时需要遵循的一些方向:数据处理导入库数据探索 数据可视化赛事分析主客场比分相关性分析时间序列分析 总结 背景
该数据集包括从1872年第一场正式比赛到2023年的44#xff0c;341场国际足球比赛的结果。比赛范围从FIFA世… 足球- EDA的历史数据分析并可视化 背景数据介绍探索数据时需要遵循的一些方向:数据处理导入库数据探索 数据可视化赛事分析主客场比分相关性分析时间序列分析 总结 背景
该数据集包括从1872年第一场正式比赛到2023年的44341场国际足球比赛的结果。比赛范围从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(fThis Dataset Includes {df.shape})df.info()df.describe()df.describe(includeobject)df.isna().sum()将“日期”列转换为日期时间类型
df[date] pd.to_datetime(df[date])数据可视化
赛事分析
plt.figure(figsize(20, 12))
sns.countplot(xtournament, datadf)
plt.xticks(rotation90)
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], bins20, kdeTrue)
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], bins20, kdeTrue)
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, annotTrue, cmapcoolwarm)
plt.title(Correlation Matrix)
plt.show()时间序列分析
# 为年份创建新列
df[year] df[date].dt.year#时间序列分析
plt.figure(figsize(10, 6))
sns.lineplot(xyear, yhome_score, datadf, labelHome Score)
sns.lineplot(xyear, yaway_score, datadf, labelAway Score)
plt.title(Trends in Home and Away Scores over Time)
plt.xlabel(Year)
plt.ylabel(Score)
plt.legend()
plt.tight_layout()
plt.show()总结
以上就是今天分享的内容