NBAデータを触ってるのでいくつかグラフを出してみます。
NBA平均身長の推移
バスケットボールといえば身長が高い選手が多いと思い浮かべると思いますが、平均身長の推移をグラフ化してみましょう。手元にあるのは1980年〜2021年のデータです。
Player Ht Wt Colleges Pos Age Tm G GS MP FG FGA ... Pts Max Share Team W L W/L% GB PS/G PA/G SRS ...
0 Alaa Abdelnaby 6-10 240.0 Duke PF 22 POR 43 0 6.7 1.3 2.7 ... 0.0 0.0 Portland Trail Blazers 63 19 0.768 0.0 114.7 106.0 8.47
1 Danny Ainge 6-4 175.0 BYU SG 31 POR 80 0 21.4 4.2 8.9 ... 0.0 0.0 Portland Trail Blazers 63 19 0.768 0.0 114.7 106.0 8.47
2 Mark Bryant 6-9 245.0 Seton Hall PF 25 POR 53 0 14.7 1.9 3.8 ... 0.0 0.0 Portland Trail Blazers 63 19 0.768 0.0 114.7 106.0 8.47
3 Wayne Cooper 6-10 220.0 New Orleans C 34 POR 67 1 11.1 0.9 2.2 ... 0.0 0.0 Portland Trail Blazers 63 19 0.768 0.0 114.7 106.0 8.47
4 Walter Davis 6-6 193.0 UNC SG 36 POR 71 14 20.9 5.7 12.1 ... 0.0 0.0 Portland Trail Blazers 63 19 0.768 0.0 114.7 106.0 8.47
身長がfeet-inch表記で文字列、体重がポンド表記なので以前の関数を使い、cmとkg表記に変換しheightとweightにし、数値データとしてデータフレームに入れ替えておきます。
#! /usr/bin/env python # -*- coding:utf-8 -*- fn = "data/cleaned_player.csv" df = pd.read_csv(fn, index_col=0) # データを年別に分ける year = df.groupby('Year') # 年ごとの平均身長と平均体重のデータフレームを生成 height = year['height'].mean(numeric_only=True) weight = year['weight'].mean(numeric_only=True) # indexはYear plt.plot(height.index, height) plt.xticks(height.index, rotation=90) plt.ylabel("height(cm)") plt.xlabel("year") plt.show()
おおよそ200cm前後を推移してるようです。
一応アメリカでは1987年の身長がピークとは言われてますが、全選手の平均身長を取ったこのデータでは2003年あたりがピークとなっています。
シャキール・オニール選手やティム・ダンカン選手など活躍したビックマン全盛と言われてた時代です。
とはいえ2mの1,2cmは誤差の範囲でしょうし、インチだと1cm単位の差は無視されます。
今回使用したデータセットはinchの小数点以下がありませんでした。
毎年測定されてもおらず、サバ読み選手も多々いたと聞くので真相は分かりません。
2019年からシューズを脱いだ身長に変更されているので平均も下がっています。
0 件のコメント:
コメントを投稿