スポーツデータで楽しむ(FIFAワールドカップ2018②チーム・ポジション別比較編)
こんにちは。Jackalistです。
いつも記事をご覧いただき誠にありがとうございます。
それでは本日も早速、スポーツデータで楽しみましょう。
前回の振り返り
前回は、元データの下準備(誕生日から年齢変換)、基本情報(年齢、身長、体重)を確認しました。
テーマ変更。気になるとこを確認します。
前回記事の最後で、次回は、出場選手の身長・体重・年齢を細かくみるのはやめて、ラグビーと比較すると書きましたが、折角、データを抽出したので、基本情報を一通りさらいたいと思います。
最高齢・最年少の出場選手
まずは↑にも貼り付けた、基本情報を少し見やすくします。
# #削除
# 順番を入れ替え
FIFA2018.describe().drop("#",axis=1).iloc[:,[2,0,1]]
それでは早速、ageのmax45歳、min19歳を確認しましょう。
#最高齢
FIFA2018.query("age>40")
一応、40歳以上で抽出してみます。
やはり1人しかいませんね。
最高齢選手は、エジプトのGK、エサム・エル・ハダリ選手です。
エジプトの強豪アルアハリでも活躍していたGKで、ロシアでは試合に出場していました。
続いて最年少です。
#最年少
FIFA2018.query("age<=19")
6人ですね。
以前、ラグビーワールドカップ2019に出場した10代は3人で、他競技よりも少ないのでは?と記事で書いたことがありましたが、母数を踏まえてもサッカーとあまり変わらなかったですね。
ただ20歳以下だと、サッカー22人、ラグビー6人でした。
身長・体重のMaxとMinを確認してみる
身長・体重は結果だけ貼ります。
最軽量に乾選手が入ってますね。
体重が1番重いロマン・トーレス選手ですが、映像で見る感じ、ラグビーをやらせてみたいですね。
出場チーム、ポジション別に平均年齢・身長・体重を比較してみる
早速、確認してみましょう。
新しく学んだ、表を整える関数を色々と入れていきます。
#チーム別各種平均 #列削除 #列順並び替え #小数点第一位 #年齢降順
FIFA2018_team = FIFA2018.groupby("Team").mean().drop("#",axis=1).iloc[:,[2,0,1]].round(1).sort_values("age",ascending=False)
FIFA2018_team
こんな感じで出てきましたが、32チームだと表が長すぎて、、キャプチャが出来ない事に気づきました。
Google colaboは、DataFrameをデフォルトで図保存出来ないみたいです。
csvやexcelに書き出すのはすぐ出来そうなので、一旦置いといて、以下のサイトを参考にして、画像形式での書き出しにトライしました。
他にもっと良い書き方が必ずあるはずですが、まずは色んなことを学んでからですね。
#キャプチャができないので図で保存
fig, ax = plt.subplots(figsize=(10,10))
ax.axis('off')
ax.axis('tight')
ax.table(
cellText=FIFA2018_team.values,
colLabels=FIFA2018_team.columns,
rowLabels=['Costa Rica', 'Mexico', 'Panama', 'Argentina', 'Egypt', 'Saudi Arabia',
'Russia', 'Iceland', 'Japan', 'Brazil', 'Spain', 'Portugal', 'Poland',
'Australia', 'Sweden', 'Uruguay', 'Colombia', 'Korea Republic',
'Croatia', 'Belgium', 'Peru', 'Morocco', 'IR Iran', 'Germany',
'Senegal', 'Denmark', 'Switzerland', 'Serbia', 'Tunisia', 'France',
'England', 'Nigeria'],
loc='center',
bbox=[0,0,1,1]
)
plt.show()
悪戦苦闘しながら、こんな感じで出来ました。ちなみに年齢の降順です。
少し見づらいですが、我らが日本代表を確認してみましょう。
#日本代表平均年齢:28.0歳(降順で9番目)
平均身長:178.8cm(昇順で4番目)
平均体重:71.5kg(昇順で1番目)
平均体重が1番軽いですね。
続いてポジション別に確認します。
#ポジション別
FIFA2018.groupby("Pos.").mean().sort_values("age",ascending=False).drop("#",axis=1).iloc[:,[2,0,1]].round(1)
GKの平均年齢・身長・体重が高いのはイメージつきますね。吉田麻也選手は、"平均180cmあるのは最低限"と、過去に答えてますね。
ちなみにこんな記事も発見しました。
確かにプレミア見てると、体格良すぎて、日本よりゴール小さくない?って良く感じますが、大きくなることはすぐにはないでしょう。ただメリットもいくつかありそうですね。
まとめ
今回は、DataFrameの列並び替え・小数点切上げ下げ、図形式での書き出しを新しく使ってみました。
次回は、新しく学んだ描画方法を用いながら、サッカーとラグビーを比較していきます。
それでは本日もありがとうございました。
もし良ければ、かなりのモチベーション維持になるので、スキとフォローを頂けると大変嬉しいです。
この記事が気に入ったらサポートをしてみませんか?