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 件のコメント:
コメントを投稿