見出し画像

スポーツデータで楽しむ(ラグビーワールドカップ2019⑦出場国別フォワード・バックスの人数構成part2)

こんにちは。Jackalistです。
記事をご覧いただき誠にありがとうございます。

それでは早速、本日もスポーツデータで楽しみましょう。

1.前回の振り返り

ラグビーワールドカップ2019の出場選手のポジションをFW(フォワード)、BK(バックス)に分けて、チーム毎の人数構成を比較してみました。
詳しくは前回の記事をご覧いただけると嬉しいです。

2.チーム毎のポジション別人数構成を比較してみる

それでは早速確認しましょう。
まずは前回使ったクロス集計を出します。

#ポジション、チーム別クロス集計
RWC2019_pos_team = pd.crosstab(RWC2019.pos,RWC2019.team,margins=True)
RWC2019_pos_team

前回話した通り、これだと分かりづらいです。
ポジションごとにフィルターをかけてみます。

#ポジション別の絞り込み
PRHK = RWC2019_pos_team.filter(["PR","HK"], axis=0)
PRHK

いい感じで出てきましたが、行の合計値がこのcodeだと消えてしまうようです。
ということで、再度以下のように追加してみました。

#再掲 ポジション別の絞り込み
PRHK = RWC2019_pos_team.filter(["PR","HK"], axis=0)
#TOTAL追加
pd.concat([PRHK,pd.DataFrame(PRHK.sum(axis=0), columns=['Total']).T])

比較しやすそうですね。
それではポジション毎にみていきたいと思います。

3.フロントロー人数比較

8 or 9人が基本ですね。
試合ではPR(プロップ)2人、HK(フッカー)1人の合計3人なので、プラス5-6人用意します。前回話した通り、フロントローが一番替えが効かないポジションなので、どのチームも手厚く用意してますね。

4.セカンドロー・バックロー人数比較

#セカンドロー比較
SRBR = RWC2019_pos_team.filter(["SR","BR"], axis=0)
pd.concat([SRBR,pd.DataFrame(SRBR.sum(axis=0), columns=['Total']).T])

9-10人ですね。
フロントロー8人、セカンドロー・バックロー9人の組み合わせ一番多そうです。ちなみに今大会、日本はセカンドロー・バックローを手厚くしてましたね。
補足ですが、セカンドローで登録していてもバックローをやっていたり、その逆もあったりします。逆にこの二つのポジションの選手が、前章のフロントローでプレーするということは、トップレベルではまずないです。

5.スクラムハーフ・フライハーフ人数比較

#ポジション別の絞り込み
SHFH = RWC2019_pos_team.filter(["SH","FH"], axis=0)
pd.concat([SHFH,pd.DataFrame(SHFH.sum(axis=0), columns=['Total']).T])

バックスに関しては、登録ポジションと実際のプレーポジションが違うケースが多いので参考程度に確認してみます。
人数・組み合わせもバラバラですね。

少しPythonの練習も兼ねて、気になった数字を確認してみます。
NZL(ニュージーランド)のSH(スクラムハーフ)の”4”が気になりますね。

簡単に補足すると、SH(スクラムハーフ)は、バックスの中でも兼業するプレーヤーが少ない専門職です。
そのため大事なポジションではあるものの、ここに選手を多く使うと、他のポジションに充てられないため、
通常、3名・または2名+緊急時に他のポジション(フライハーフ、フルバック)で対応という組み合わせが一般的です。

なのでラグビー好きからするとニュージーランド4名もスクラムハーフいたっけ?となります。
ということで調べてみます。

#検索
RWC2019[RWC2019["team"] == "NZL"].sort_values("pos",ascending = True)

違和感の正体はジョーディー・バレットでしたね。元データが間違ってたようです。この選手は普段他のポジションをやってます。

6.センター、ウイング、フルバック比較

こちらもスクラムハーフ・フライハーフ同様に登録ポジションと実際のプレーポジションが違うケースが多いので、参考程度に抽出してみます。

#ポジション別の絞り込み
CEWLFB = RWC2019_pos_team.filter(["CE","WI","FB"], axis=0)
pd.concat([CEWLFB,pd.DataFrame(CEWLFB.sum(axis=0), columns=['Total']).T])

7.まとめ 

本日は、filterを使った絞り込み、concatでの合計値追加、異常値の確認方法をやってみました。

そろそろ同じ元データで、ラグビーワールドカップを続けても新鮮味に欠けるので、次回からは、FIFAワールドカップ2018のデータを使いながら、サッカーとラグビーの比較をテーマにしていきます。

良ければ、モチベーション維持になるためスキ、フォローを頂けると大変嬉しいです。

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

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