2024年6月25日火曜日

NBA選手の平均身長

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

コメントを投稿

Pythonで地図空間データを扱う⑤

ベースの地図が出来た所で、他のデータを被せてみます。 国土地理院の  500mメッシュ別将来推計人口データ  を使用します。 同じく神奈川県のデータ  500m_mesh_suikei_2018_shape_14.zip をダウンロードします。 ベースの地図データと同じ場所に展開...