スポーツデータで楽しむ(FIFAワールドカップ2018①出場選手編)
こんにちは。Jackalistです。
記事をご覧いただき誠にありがとうございます。
それでは早速、本日もスポーツデータで楽しみましょう。
前回までの振り返り
前回まで、7回に分けてpythonを使いながら、ラグビーワールドカップ2019出場選手の年齢・身長・体重・キャップ数などを確認しました。
一通り気になるとこは確認できたので、今回から新しくFIFAワールドカップ2018のデータを元に、スポーツデータを楽しみたいと思います。
FIFAワールドカップ2018の元データを探す
ラグビーと違い、日本語でゲットできるかと思いましたが、今回もkaggleを利用しました。
他にdata worldというサイトも発見しました。こちらもスポーツデータが結構ありそうなので、今後利用したいと思います。
FIFAワールドカップ2018の元データを確認してみる
#FIFA2018 Kaggleから
FIFA2018 = pd.read_table("/content/drive/MyDrive/Colab Notebooks/wc2018-players.csv",sep=",")
pd.DataFrame(FIFA2018)
一応、infoでも確認します。
#info
FIFA2018.info()
欠損値はなさそうです。チーム、ポジション、身長、体重はそのまま使えそうです。
誕生日は、次章で年齢に変換してみます。ラグビー編で使ったキャップ数(国際試合出場回数)が、今回見つからなかったため、一旦そこは無しで進めていきます。
誕生日を年齢に変換してみる
Qiitaの内容を参考にしてやってみました。
まずは、"Birth Date"の型変換からです。
#誕生日の型変換
FIFA2018['Birth Date'] = pd.to_datetime(FIFA2018['Birth Date'])
FIFA2018.info()
”Birth Date”のTypeが”datetime”になっているのが確認できました。
次にQiitaのコードを、ほぼそのまま使って、関数を作ります。
#誕生日追加
#Todayは大会の開幕月で設定
def getAge(birthday):
today = int(pd.to_datetime("2018/6/1").strftime('%Y%m%d'))
birthday = int(birthday.strftime('%Y%m%d'))
return int((today - birthday) / 10000)
大会開幕月時点の年齢を出すため、"today"は"2018/6/1"に設定しました。
それでは早速、確認してみましょう。
#追加できたか確認
FIFA2018['age']=FIFA2018['Birth Date'].apply(lambda date: getAge(date))
FIFA2018
一番右の列に2018年6月時点の"age"が追加されました。
FIFAワールドカップ2018 全出場選手の基本情報(年齢・身長・体重)を確認してみる
それでは、ラグビー編のように出場全選手の基本情報を確認します。
#基本情報
FIFA2018.describe()
さて興味深い数字が色々と出てきました。
選手数は736名(32チーム×23名)ですね。
平均で見ると、182.4cm、77.1キロ、27.3歳です。この辺は、ポジション別、過去大会比較が面白そうです。
ラグビー同様に、サッカーも大型化が進んでるんですかね。気になることが続々とでてきます。
個人的に1番気になるのは、年齢のmax45歳ですかね。ちなみに一番左の”#”は登録背番号なので無視してください。
さて、本日は少し長くなったので、ここで終わりたいと思います。
次回から細かくみていきましょう。
まとめ
今回は、関数を作って誕生日から年齢変換をやってみました。変換するのは手間ですが、過去のデータを振り返るときに、いつ時点の年齢か分からないよりも、誕生日表記の方が便利ですね。
さて次回は、抽出したデータを元に色々と細かくみていこうと思います。
ラグビー編同様に、max,minの選手確認・チーム別比較しようと思っていましたが、
・ラグビーに比べて、私の知識レベルがサッカーはかなり浅い
・結局、同じpythonのコードを使って勉強にならなさそう
ということで、ラグビー編で抽出したデータと併せて、ラグビー・サッカー比較編にしていこうと思います。
もし良ければ、かなりモチベーション維持になるため、スキ・フォローを頂けるとめちゃくちゃ嬉しいです。
それでは本日もありがとうございました。
この記事が気に入ったらサポートをしてみませんか?