2024年6月30日日曜日

NBA選手の年齢分布

 年齢別のあるデータセットからNBA選手の年齢データを割り出してみます。

データセットの範囲 1950年〜2017年

Year           Player   Age   Tm     G  GS  MP  PER     FG  3P     FT    FTA  ORB  DRB  TRB    AST  STL  BLK  TOV     PF    PTS   PPG

0  1950.0  Curly Armstrong  31.0  FTW  63.0 NaN NaN  NaN  144.0 NaN  170.0  241.0  NaN  NaN  NaN  176.0  NaN  NaN  NaN  217.0  458.0  7.27

1  1950.0     Cliff Barker  29.0  INO  49.0 NaN NaN  NaN  102.0 NaN   75.0  106.0  NaN  NaN  NaN  109.0  NaN  NaN  NaN   99.0  279.0  5.69

2  1950.0    Leo Barnhorst  25.0  CHS  67.0 NaN NaN  NaN  174.0 NaN   90.0  129.0  NaN  NaN  NaN  140.0  NaN  NaN  NaN  192.0  438.0  6.54

3  1950.0       Ed Bartels  24.0  TOT  15.0 NaN NaN  NaN   22.0 NaN   19.0   34.0  NaN  NaN  NaN   20.0  NaN  NaN  NaN   29.0   63.0  4.20

4  1950.0       Ed Bartels  24.0  DNN  13.0 NaN NaN  NaN   21.0 NaN   17.0   31.0  NaN  NaN  NaN   20.0  NaN  NaN  NaN   27.0   59.0  4.54



import matplotlib.pyplot as plt
import seaborn as sns

fn = "data/Seasons_Stats.csv"
df = pd.read_csv(fn, index_col=0)

print("最低年齢: ", df['Age'].min())
print("最高年齢: ", df['Age'].max())

print(df['Age'].value_counts())

最低年齢: 18.0 
最高年齢: 44.0

Age
24.0    2794
23.0    2748
25.0    2518
26.0    2380
27.0    2149
22.0    1926
28.0    1823
29.0    1576
30.0    1433
31.0    1179
32.0     952
33.0     713
21.0     609
34.0     538
35.0     347
20.0     288
36.0     210
37.0     143
19.0     111
38.0      92
39.0      48
40.0      16
18.0      13
41.0       5
42.0       3
43.0       1
44.0       1
Name: count, dtype: int64

value_countsで見ると、23〜24歳が最も多く、最高年齢は一人しかいません。

グラフで可視化します。

bins = len(df['Age'].value_counts())
print(bins)

# 年齢分だけbinsを分けます
plt.hist(df["Age"], bins=bins)
plt.title("NBAの年齢分布(1950〜2017)")
plt.xlabel("年齢")
plt.ylabel("人数")
plt.show()

長く続けるのは、体調管理や怪我などある中、相当厳しい世界だと見て取れます。


0 件のコメント:

コメントを投稿

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

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