历届世界杯数据分析专题总结:使用Python-Pandas与Matplotlib进行数据可视化

abc350826712 100 2024-12-26 18:26:24

世界杯是全球最受瞩目的体育盛事,对它每一届的数据进行剖析,既有趣又富有价值。这不仅能帮助球迷更深入地理解赛事的演变,还能揭示许多鲜为人知的精彩故事。

中国队相关比赛分析

世界杯是全球足球领域的顶级盛事,我国足球队在此赛事中的表现同样引人关注。由于我国球队在世界杯上的亮相机会不多,因此,每场比赛的数据都显得尤为重要。无论是在主场还是客场,这些数据都能揭示出我国球队与其他队伍之间的差距。比如,比赛的胜负结果往往与球队当时的阵容和战术策略等多方面因素紧密相连。此外,通过分析我国球队在世界杯上的比赛数据,或许可以窥见我国足球发展的轨迹。

从数据分析的角度出发,中国队的参赛数据可以作为一个参照,用来与其他足球强国进行比较。

欧联杯4强抽签结果_世界杯的结果_世界杯结赛

数据预处理的重要性

世界杯结赛_欧联杯4强抽签结果_世界杯的结果

在进行数据分析的前期,数据预处理是必须的环节。以分析世界杯比赛信息表为例,进行类型转换等操作,目的是使数据更加整齐,便于后续分析。

解析所选列成为整数等操作,有助于提升数据在计算与分析时的精确度。此外,对比赛成绩进行格式化处理,旨在实现数据格式的统一。任何微小的失误或不规范的数据处理,都可能引发分析结果的误差,这在需要严谨性的世界杯数据分析中尤其需要警惕。

Year	Datetime	Stage	Stadium	City	Home Team Name	Home Team Goals	Away Team Goals	Away Team Name	Attendance	Half-time Home Goals	Half-time Away Goals	Referee	Assistant 1	Assistant 2	RoundID	MatchID	Home Team Initials	Away Team Initials	result
0	1930.0	13 Jul 1930 - 15:00	Group 1	Pocitos	Montevideo	France	4	1	Mexico	4444.0	3.0	0.0	LOMBARDI Domingo (URU)	CRISTOPHE Henry (BEL)	REGO Gilberto (BRA)	201.0	1096.0	FRA	MEX	4-1
1	1930.0	13 Jul 1930 - 15:00	Group 4	Parque Central	Montevideo	USA	3	0	Belgium	18346.0	2.0	0.0	MACIAS Jose (ARG)	MATEUCCI Francisco (URU)	WARNKEN Alberto (CHI)	201.0	1090.0	USA	BEL	3-0
2	1930.0	14 Jul 1930 - 12:45	Group 2	Parque Central	Montevideo	Yugoslavia	2	1	Brazil	24059.0	2.0	0.0	TEJADA Anibal (URU)	VALLARINO Ricardo (URU)	BALWAY Thomas (FRA)	201.0	1093.0	YUG	BRA	2-1
3	1930.0	14 Jul 1930 - 14:50	Group 3	Pocitos	Montevideo	Romania	3	1	Peru	2549.0	1.0	0.0	WARNKEN Alberto (CHI)	LANGENUS Jean (BEL)	MATEUCCI Francisco (URU)	201.0	1098.0	ROU	PER	3-1
4	1930.0	15 Jul 1930 - 16:00	Group 1	Parque Central	Montevideo	Argentina	1	0	France	23409.0	0.0	0.0	REGO Gilberto (BRA)	SAUCEDO Ulises (BOL)	RADULESCU Constantin (ROU)	201.0	1085.0	ARG	FRA	1-0
...	...	...	...	...	...	...	...	...	...	...	...	...	...	...	...	...	...	...	...	...
847	2014.0	05 Jul 2014 - 17:00	Quarter-finals	Arena Fonte Nova	Salvador	Netherlands	0	0	Costa Rica	51179.0	0.0	0.0	Ravshan IRMATOV (UZB)	RASULOV Abduxamidullo (UZB)	KOCHKAROV Bakhadyr (KGZ)	255953.0	300186488.0	NED	CRC	0-0
848	2014.0	08 Jul 2014 - 17:00	Semi-finals	Estadio Mineirao	Belo Horizonte	Brazil	1	7	Germany	58141.0	0.0	5.0	RODRIGUEZ Marco (MEX)	TORRENTERA Marvin (MEX)	QUINTERO Marcos (MEX)	255955.0	300186474.0	BRA	GER	1-7
849	2014.0	09 Jul 2014 - 17:00	Semi-finals	Arena de Sao Paulo	Sao Paulo	Netherlands	0	0	Argentina	63267.0	0.0	0.0	Cüneyt ÇAKIR (TUR)	DURAN Bahattin (TUR)	ONGUN Tarik (TUR)	255955.0	300186490.0	NED	ARG	0-0
850	2014.0	12 Jul 2014 - 17:00	Play-off for third place	Estadio Nacional	Brasilia	Brazil	0	3	Netherlands	68034.0	0.0	2.0	HAIMOUDI Djamel (ALG)	ACHIK Redouane (MAR)	ETCHIALI Abdelhak (ALG)	255957.0	300186502.0	BRA	NED	0-3
851	2014.0	13 Jul 2014 - 16:00	Final	Estadio do Maracana	Rio De Janeiro	Germany	1	0	Argentina	74738.0	0.0	0.0	Nicola RIZZOLI (ITA)	Renato FAVERANI (ITA)	Andrea STEFANI (ITA)	255959.0	300186501.0	GER	ARG	1-0
852 rows × 20 columns

现场观赛人数背后

世界杯相关数据中,通过分析现场观众数量,我们能掌握各场比赛的受欢迎程度。各场比赛的观众人数,有助于我们挑选出最受欢迎的比赛。

世界杯的结果_世界杯结赛_欧联杯4强抽签结果

在1950年的巴西世界杯上,有四场比赛的观众数量高居不下。这既展现了巴西民众对足球的狂热,也反映了赛事的组织、球队等因素吸引了大量球迷。马拉卡纳体育场举办的这些赛事,因其高人气而备受瞩目,而这与它作为巴西足球象征的地位和巨大影响力密不可分。

欧联杯4强抽签结果_世界杯的结果_世界杯结赛

比赛进球数探秘

足球比赛中,进球无疑是观众最期待的高潮。球迷们总是渴望发现历史上单场进球数最多的比赛。这样的记录,往往能反映出当时比赛的特色和战术运用。

比赛进球数若异常之高,或许源于两队均采用了较为积极的进攻策略,亦或是防守上存在不足等因素。这一现象对现今球队的战略规划亦具有一定的参考价值。

各队进球数量排名

matches['total_goals'] = matches['Home Team Goals'] + matches['Away Team Goals']
matches['VS'] = matches['Home Team Name'] + 'VS' + matches['Away Team Name']
top10_goals = matches.sort_values(by = 'total_goals', ascending = False)[:10]
top10_goals['VS'] = top10_goals['Home Team Name'] + 'VS' + top10_goals['Away Team Name']
top10_goals['total_goals_str']= top10_goals['total_goals'].astype(str)+ ' goals scored'
top10_goals['Home Team Goals'] = top10_goals['Home Team Goals'].astype(int)
top10_goals['Away Team Goals'] = top10_goals['Away Team Goals'].astype(int)
top10_goals['result'] = top10_goals['Home Team Goals'].astype(str) + '-' + top10_goals['Away Team Goals'].astype(str)
plt.figure(figsize = (12, 10))
ax = sns.barplot(y = top10_goals['VS'], x = top10_goals['total_goals'])
sns.despine(right = True)
plt.ylabel('比赛')
plt.xlabel('进球数')
plt.yticks(size = 12)
plt.xticks(size = 12 )
plt.title('进球数前10名的比赛', size = 20)
for i, s in enumerate('体育场:' + top10_goals['Stadium'] + ',日期:' + top10_goals['Datetime'] + 
                      '\n' + top10_goals['total_goals_str'] + ',比赛结果:' + top10_goals['result']):
    ax.text(2, i, s, fontsize = 14, color = 'white', va = 'center')
plt.show()  

世界杯历史上,进球数最多的国家往往都是德国、巴西、阿根廷和意大利等足球强国。这种现象并非巧合。这些国家队在球员挑选、战术培养等方面都积累了丰富的经验。

欧联杯4强抽签结果_世界杯结赛_世界杯的结果

巴西、德国、阿根廷和意大利在自家球场上的进球表现十分抢眼。同样,德国、巴西、西班牙和法国在客场进球数上也名列前茅,这显示出他们在客场也能展现强大的进攻能力。这种现象与他们采用的战术风格密切相关。

经过对历届世界杯数据的细致分析,我们对世界杯有了更深入的了解。你是否注意到某些数据让你感到惊讶?若你对这种世界杯数据分析同样感兴趣,不妨点赞并分享此文,也欢迎在评论区交流心得。

# 导入数据分析包:numpy(科学计算)、pandas(处理数据框)和 matplotlib/seaborn(可视化)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 导入数据:
matches = pd.read_csv('d:\data\WorldCupMatches.csv')
# 统一“联邦德国”和“德国”
matches = matches.replace(['Germany FR'], 'Germany')
list_countries = matches['Home Team Name'].unique().tolist()
#分主客队来统计:
lista_home = []
lista_away = []
for i in list_countries:
    goals_home = matches.loc[matches['Home Team Name'] == i, 'Home Team Goals'].sum()
    lista_home.append(goals_home)
    goals_away = matches.loc[matches['Away Team Name'] == i, 'Away Team Goals'].sum()
    lista_away.append(goals_away)
df = pd.DataFrame({'country': list_countries, 'total_home_goals': lista_home, 'total_away_goals':lista_away})
df['total_goals'] = df['total_home_goals'] + df['total_away_goals']
most_goals = df.sort_values(by = 'total_goals', ascending = False)[:10]
most_goals
	country	total_home_goals	total_away_goals	total_goals
13	Germany	168	67	235
7	Brazil	180	45	225
4	Argentina	111	22	133
15	Italy	99	29	128
0	France	68	40	108
14	Spain	50	42	92
34	Netherlands	51	40	91
10	Hungary	73	14	87
6	Uruguay	62	18	80
18	England	54	25	79

上一篇:2024欧洲杯揭幕战:德国5:1胜苏格兰,海信第五次赞助全球顶级赛事
下一篇:德甲第3轮:多特蒙德4-0大胜弗莱堡,哈兰德梅开二度助球队完胜
相关文章
返回顶部小火箭