#目的
今回はpython初心者がデータ分析の勉強のため難しくなく、
興味を持ちやすいテーマ!サッカー(勝手なイメージ)であれこれしてみます
特に、個人的にはボールの支配率が高いチームは強いチームという認識がありますが
そういうチームは上位にいきやすい?っていうのも検証したいと思います
#データの準備
サッカーのデータを探してたところ、kaggleに2018年ロシアW杯のデータがありました。
https://www.kaggle.com/mathan/fifa-2018-match-statistics/version/20# からcsvをダウンロードする。
#データの概要
import pandas as pd
data = pd.read_csv('/Users/hwang.taejun/myworkspace/FIFA 2018 Statistics.csv')
print(data)
W杯の開幕戦から決勝までの試合データが入ってます
2行ずつ1試合になってるので前処理が必要かも?
#中身をみてみよ
print(data['Team'])
print(data['Goal Scored'].mean()) #ゴールの平均
1.3203125
print(data['Goal Scored'].sum()) #ゴールの合計
169
dataframeの中でカラムを指定するとそのカラムの数値がわかります
全試合のゴールの合計は169って言ってますね
##チームごと
まず、優勝したフランスのデータだけ絞ってみます。indexもチームに変えましょう
data.set_index('Team').loc['France'].mean()
フランスだけの結果がかえってきました
データをみると1試合平均2ゴール、ボール支配率は平均約48バーセントですね
そうしたら、チームごとだしてみましょう
team = []
for nation in data.set_index('Team').index:
if nation not in team:
team.append(nation)
team_summary = {}
for nations in range(len(team)):
team_summary[team[nations]] = data.set_index('Team').loc[team[nations]].mean()
チームが重複している形なので除外しましょう(1試合に2行になってるから)
data.set_index('Team').index
の重複するチームを除外するfor文を回します
そうすると32チーム揃えることができる
重複除外後、チームごとのデータがわかるfor文を回すと
結果、チームごとのデータがかえってきます
上記の結果を使って
一番ゴールをきめたチームとボールの支配率が一番高いチームとかだしてみました
goals={}
possession={}
for stats in range(len(team)):
goals[team[stats]] = team_summary[team[stats]][0]
possession[team[stats]] = team_summary[team[stats]][1]
print(max(goals, key=goals.get))
'Belgium'
print(max(possession, key=possession.get))
'Spain'
maxは一番大きい値をだしてくれる。一番ゴールをきめたチームはベルギー
ボール支配率はスペインだそうです!
この二つ以外にもカラム名を使っていろんな結果が見れます
次は気になっていたボールの支配率が高いチームは上位にいきやすいかみてみましょう
上記のdict型のposseisson
を使って棒グラフでplotしてみると?
import matplotlib.pyplot as plt
values = possession.values()
keys = possession.keys()
plt.bar(keys,values)
plt.show()
1.トップ10でベスト8に入ったチームは3チームしかない
2.予選落ちのドイツとサウジアラビアがトップ5に入ってる
3.ベスト8に入ったロシア、スウェーデンは30位と28位
4.優勝チームのフランスは32チームの中で20位、3位のベルギーは12位
5.トップ5のスペイン、アルゼンチン、スイスはベスト16で落ちたチーム
ってことはボールの支配率は決勝トーナメントに進出したチームとあまり関係がないように見えますね。以外すぎる...
#さいごに
pythonで分析の練習のために筆者が好きなサッカーのデータであれこれやってみました
コードをみると初心者ってすぐバレると思いますが一通りなんかかきました 笑
このデータでもっと面白い分析ができると思ったけど今回はこれくらいにしておきます・・・
こういう練習を重ねてもっといい記事をまた今度書いてみます!