スポーツデータで楽しむ(ラグビーワールドカップ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のデータを使いながら、サッカーとラグビーの比較をテーマにしていきます。
良ければ、モチベーション維持になるためスキ、フォローを頂けると大変嬉しいです。
それでは本日もありがとうございました。
この記事が気に入ったらサポートをしてみませんか?