見出し画像

スポーツデータで楽しむ(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)

画像1

一応、infoでも確認します。

#info
FIFA2018.info()

画像2

欠損値はなさそうです。チーム、ポジション、身長、体重はそのまま使えそうです。
誕生日は、次章で年齢に変換してみます。ラグビー編で使ったキャップ数(国際試合出場回数)が、今回見つからなかったため、一旦そこは無しで進めていきます。

誕生日を年齢に変換してみる

Qiitaの内容を参考にしてやってみました。

まずは、"Birth Date"の型変換からです。

#誕生日の型変換
FIFA2018['Birth Date'] = pd.to_datetime(FIFA2018['Birth Date'])
FIFA2018.info()

画像3

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

画像4

一番右の列に2018年6月時点の"age"が追加されました。

FIFAワールドカップ2018 全出場選手の基本情報(年齢・身長・体重)を確認してみる

それでは、ラグビー編のように出場全選手の基本情報を確認します。

#基本情報
FIFA2018.describe()

画像5

画像6


さて興味深い数字が色々と出てきました。
選手数は736名(32チーム×23名)ですね。
平均で見ると、182.4cm、77.1キロ、27.3歳です。この辺は、ポジション別、過去大会比較が面白そうです。

ラグビー同様に、サッカーも大型化が進んでるんですかね。気になることが続々とでてきます。
個人的に1番気になるのは、年齢のmax45歳ですかね。ちなみに一番左の”#”は登録背番号なので無視してください。

さて、本日は少し長くなったので、ここで終わりたいと思います。
次回から細かくみていきましょう。

まとめ

今回は、関数を作って誕生日から年齢変換をやってみました。変換するのは手間ですが、過去のデータを振り返るときに、いつ時点の年齢か分からないよりも、誕生日表記の方が便利ですね。

さて次回は、抽出したデータを元に色々と細かくみていこうと思います。
ラグビー編同様にmax,minの選手確認・チーム別比較しようと思っていましたが、

・ラグビーに比べて、私の知識レベルがサッカーはかなり浅い
・結局、同じpythonのコードを使って勉強にならなさそう

ということで、ラグビー編で抽出したデータと併せてラグビー・サッカー比較編にしていこうと思います。

もし良ければ、かなりモチベーション維持になるため、スキ・フォローを頂けるとめちゃくちゃ嬉しいです。

それでは本日もありがとうございました。

この記事が気に入ったらサポートをしてみませんか?