#最高齢取得 max_player = df['Age'].max() #最高齢のインデックス取得 max_index = df['Age'].idxmax() #得られたインデックスから最高齢の選手データをスライス print(df[max_index:max_index+1])
Year Player Pos Age Tm G GS MP PER TS% 3PAr FTr ORB% DRB% TRB% AST% ... 2PA 2P% eFG% FT FTA FT% ORB DRB TRB AST STL BLK TOV PF PTS PPG
18671 2007.0 Kevin Willis PF 44.0 DAL 5.0 0.0 43.0 6.3 0.432 0.0 0.154 5.7 16.4 11.2 3.6 ... 13.0 0.385 0.385 2.0 2.0 1.0 2.0 6.0 8.0 1.0 2.0 1.0 2.0 11.0 12.0 2.4
最高齢まで活躍したのは2007年まで活躍したKevin Willis選手だと分かりました。
調べてみるとマイケル・ジョーダン選手と同期なんですね。まさに鉄人。
NBA選手のキャリア年数
# プレーヤー毎にグループ化 players = df.groupby('Player') # それぞれの個数をカウント players_size = players.size() print(players_size)
Player
A.C. Green 18
A.J. Bramlett 1
A.J. English 2
A.J. Guyton 3
A.J. Hammons 1
..
プレーヤー毎の行数が抽出されました。
このままの数値を使えば良さそうですが、チームを渡り歩いて重複してるデータもあるので、退団年齢から加入年齢を引いてキャリア年齢を割り出します。
# プレーヤー毎の加入年齢 min_age = players["Age"].min() # プレーヤー毎の退団年齢 max_age = players['Age'].max() # 引いてキャリア年数を算出 career = max_age - min_age # ボリューム順にソートされる print(career.value_counts()) print(f"選手の平均キャリア年数: {np.round(career.mean(), 2)}年") plt.hist(career, bins=22) plt.title("NBA選手のキャリア年数") plt.xlabel("キャリア年数") plt.ylabel("人数") plt.show()
Age
0.0 1052
1.0 486
2.0 323
3.0 276
4.0 212
9.0 184
5.0 181
6.0 178
7.0 170
8.0 169
10.0 161
11.0 138
12.0 130
13.0 95
14.0 52
15.0 41
16.0 26
17.0 20
18.0 16
19.0 3
20.0 2
22.0 1
Name: count, dtype: int64
選手の平均キャリア年数: 4.45年
四則演算でデータ毎の計算を一瞬で出来るのはpandasの強みですね。
結果を見ると、初年度で退団する人が圧倒的に多いです。
世界最高峰の運動能力を持つ選手が集まるNBAの厳しさが伺えます。
そこから緩く減っていきますが、キャリア9年目が一時的に増えてるのはそこがベストなキャリア年数なのか、年金制度などが関係してるのか分かりません。
最長年数は22年、全体の平均選手寿命は4.45年と出ました。
0 件のコメント:
コメントを投稿