今天跟大家聊聊我昨天捣鼓的“乌拉圭英格兰”项目,可不是真去看球赛哈,是拿俩数据源练手,搞点数据分析的小玩意儿。
事情是这样的,昨天下午没事儿,就寻思着找点乐子。正好手头有点乌拉圭和英格兰足球队的数据,包括历史战绩、球员信息啥的,就想着能不能做点啥出来。
我把数据给扒拉下来,这步可费点劲。乌拉圭的数据藏在一个犄角旮旯的网站里,用Python的爬虫吭哧吭哧搞好久,才把数据给弄下来。英格兰那边稍微好点,直接从一个公开的API里拿的。
数据拿到手,那叫一个乱。乌拉圭的数据格式简直是惨不忍睹,各种编码问题,还有的字段缺失。英格兰的数据也差不多,各种缩写和简写,看得我脑壳疼。没办法,只能硬着头皮清洗。先把编码统一成UTF-8,然后把缺失的数据填补上,再把那些缩写啥的都给翻译过来。这步花差不多半天时间。
数据洗干净,接下来就是分析。我先简单统计一下两队的胜负场次,发现英格兰赢的次数稍微多一点。然后又看看两队的进球数,发现英格兰的火力更猛。为更直观,我用Matplotlib画几个图,胜负比例饼图,进球数柱状图,一下就清楚多。
我想看看两队球员的身价情况。这部分数据是从另一个网站上爬的,也是费不少功夫。拿到数据后,我统计一下两队球员的平均身价,发现英格兰的球员身价普遍更高。我又把球员按照位置分一下类,看看哪个位置的身价最高。结果发现,前锋的身价果然是最高的。
我还尝试用Scikit-learn做一些简单的预测,比如预测下一场比赛的胜负。不过因为数据量太少,预测的结果不太靠谱,就当练练手。
- 数据获取:爬虫搞定乌拉圭数据,API获取英格兰数据。
- 数据清洗:编码统一,缺失值填充,缩写翻译。
- 数据分析:胜负场次统计,进球数统计,身价统计。
- 数据可视化:Matplotlib画图,饼图、柱状图展示。
- 模型预测:Scikit-learn简单预测。
我把整个过程写成一个Jupyter Notebook,方便以后回顾和分享。虽然这个项目很简单,但是也让我学到不少东西,特别是数据清洗和数据分析的技巧。以后有机会,再搞点更复杂的项目玩玩。
总结一下
这回“乌拉圭英格兰”数据小项目,让我体会到数据分析的乐趣,也认识到数据清洗的重要性。以后要多练习,争取成为一个数据分析高手!
还没有评论,来说两句吧...