なに今日のタイトル?意味わかんないんだけど
聞いてくださいよ、テイモンさん。
これまでWebサイト内の表をコピペするならpandasが最高って思ってたけど、そうじゃなかった。エクセルだけでいけたわ。
どした。今更コピペ芸に戻るのか
PowerQueryって知ってる…?
え、むしろ知らんかったの?勉強する順番間違えてない!?
まずはマスターズチャンピオンの話がしたい
4月20日からボートレース下関でマスターズチャンピオンが始まりますね。
特設サイトも公開になっています。
マスターズチャンピオンとは
4/1時点で45歳以上のボートレーサーのみに出場が許されるPG1のレースです。
出場資格は45歳以上という年齢のほか
・昨年優勝者
・マスターズリーグ戦の優勝者
・施行者推薦
・勝率上位
で合計52人となります。
等級の指定はないのですが、52番目の選出選手の勝率が6.46でA1選出基準よりも高いので、実質A1クラスの強い選手がほとんどです。
「マスターズ」と言っても年配者というイメージではありません。
2000年~2002年までは出場資格が50歳以上、2003年~2017年は48歳以上でしたが、2019年より45歳に引き下げられています。
でも45歳くらいだとSGやG1のグレードレースで活躍している選手も多いです。
例えば3744 瓜生正義選手、3721 守田俊介選手は今45歳です。
年齢を引き下げると他のSGやG1とあまり変わらなくなってしまわないの?と思い、強い選手に絞った年齢分布を調べてみました。
2020年賞金ランキング100位以内にマスターズは何人?
2020年のボートレーサー獲得賞金ランキング、
100位以内に入っている選手で現在45歳以上の選手は何人いるでしょう?
答え:20人
ちょうど20%です。
ではそのうち50歳以上は?
答え:2人
3415 松井繁選手。51歳。
賞金ランクは6位、2020年は1億円以上稼いでいます。現在生涯獲得賞金が37億円で1位の選手ですね。娘さんがミス日本グランプリに選ばれたことで最近話題になりました。
3388 今垣光太郎選手。51歳。
2020年の賞金ランクは64位、4400万円ほど稼いでいます。2002年、2004年、2005年とボートレースオールスターの前身である笹川賞で人気投票1位だったそうです。
ちなみに賞金ランキング100位以内の選手の平均年齢は38.5歳。
ボートレーサー全体だと37.8歳なのでちょっとだけ平均が上ですが、大きな違いはなさそうです。
2020年SGに出場した選手にマスターズは何人?
それではもう少し幅を広げて、2020年にSGレースに1回でも出場した選手で、45歳以上は何人いるでしょう?
答え:23人
SG出場選手が112名なので20%というのは賞金ランキングとあまり変わりません。
ではそのうち50歳以上は?
答え:4人
ちなみに最年長は59歳!3024 西島義則選手です。
2020年のボートレースオールスターとボートレースダービーに出場しています。
マスターズの年齢引き下げは強い選手を多く入れるため?
2020年の賞金ランキング、SG出場選手を見てみて、年齢が高めでも活躍している選手はいるけれど50歳以上に絞ってしまうと活躍しているのは一握りの選手だとわかってきました。
実際に全選手のうちの50歳以上、45歳以上の選手数を調べてみると以下のような感じです。
全選手 | A1 | |
50歳以上 | 239人 | 32人 |
45歳以上 | 458人 | 80人 |
マスターズチャンピオンは52人出場するので50歳以上だとA1以外の選手もかなり入れる必要が出てきてしまいます。
そうすると強い選手が一部に限られてしまう可能性があります。
賞金の高いPG1の格付けレースとしては強い者同士が戦ってなんぼ、ということで年齢が引き下げられたのかな、と思いました。
ちなみに賞金ランキング100位以内、2020年SG出場選手の年齢分布をまとめると以下のグラフです。
どちらも33歳が最頻値。とはいえ、活躍している選手が20代半ばから50代まで幅広いというのは選手生命の長いボートレーサーならではなのかもしれません。他の競技とか公営ギャンブルの選手のピーキングは知らんけど。
話は変わってExcel PowerQueryってみんな知ってた?
ところで皆様、ExcelのPowerQueryって知ってましたか?
なんか名前は聞いたことあるな~と思っていたのですが、使ったことはございませんでした。
そして、Webサイトに掲載されている表(table)をコピペするのが面倒な時はPythonのライブラリ、pandasが最強じゃん、と思っていました。
パンダス様を知った日の投稿
しかし、Webサイトから表をエクセルにコピーしたいならもうエクセルだけでできた!
しかも、わざわざサイトをコピー&ペーストせずに、URLさえわかればできた。
それがPowerQuery!
今更かよ、と思う方も多いかと思いますが、この衝撃を伝えたいので今更かよ、と思った方はそっ閉じして石野貴之選手の勝負駆けの状況でも調べていてください。
URLを指定するだけ!PowerQueryでサイトから表をとってくる
今回、2020年の賞金ランキングはボートレース公式サイトのお知らせからとってきました。
https://www.boatrace.jp/owpc/pc/site/news/2021/01/12726/
こちらのページです。
URLがわかったらあとはエクセルでピピっとするだけ。
手順1:エクセルの「データ」タブの「データの取得」の「Webから」を選択
手順2:取得したい表のあるURLを入力して「OK」
手順3:取得したいテーブルを選択(右にプレビューが出る)して「読み込み」
ひぇ~~~、pandasよりさらに楽やんけ。
ただ、●日~●日までの出走表を一気に取得したいなど複数のページにまたがって取得したいデータがある場合はfor文で自動的に繰り返して取得する方が何度もURLを入力すより楽なのでpandasでやったことも無駄ではなかったとは思います。
複数の日の結果をpandasでとってきたときの記事はこちら
PowerQueryに関してはたくさん本も出ています。