2025年7月29日火曜日

nba_apiを使いNBAデータを取得する

NBAデータ取得

NBAデータを分析する場合には、まず最初にデータ取得が必要です。
Kaggleなどのデータサイトから検索してもいいし、データサイトからスクレイピングしてる方もいると思います。
そしてPythonのライブラリからもNBAデータを提供してるものがあるので、それを使ってみたいと思います。
nba_apiです。
使用するには
pip install nba_api
でライブラリをインストールします。

nba_apiライブラリ

nba_apiには、沢山のメソッドがあり、かなり詳しいデータが手に入りますが、反面、どこに何のデータが入ってるか使い方に迷います。
https://github.com/swar/nba_api/tree/masterのサイトにexampleなどもありますが少ししかありません。
https://github.com/swar/nba_api/tree/master/docs/nba_api/stats/endpointsから、メソッド名で当たりをつけ、どれが探してるデータか一つ一つ読んで見つけましょう。

今回は、レギュラーシーズンデータを取得してみたいと思います。
PlayerGameLogsが良さそうなので、それを使います。
#! /usr/bin/env python

import numpy as np
import pandas as pd
from nba_api.stats.endpoints import playergamelogs

season_df = playergamelogs.PlayerGameLogs(
    season_nullable = '2024-25',
).player_game_logs.get_data_frame()

print(season_df.head(50))
  
  

引数 season_nullable に取得したいシーズン '2024-25' を入れます。

player_game_logs.get_data_frame()でデータフレーム形式で取得出来ます。


SEASON_YEAR PLAYER_ID PLAYER_NAME NICKNAME TEAM_ID TEAM_ABBREVIATION TEAM_NAME GAME_ID GAME_DATE MATCHUP WL MIN FGM FGA FG_PCT FG3M FG3A FG3_PCT FTM FTA FT_PCT OREB DREB REB AST TOV STL BLK BLKA PF PFD PTS PLUS_MINUS NBA_FANTASY_PTS DD2 TD3 WNBA_FANTASY_PTS GP_RANK W_RANK L_RANK W_PCT_RANK MIN_RANK FGM_RANK FGA_RANK FG_PCT_RANK FG3M_RANK FG3A_RANK FG3_PCT_RANK FTM_RANK FTA_RANK FT_PCT_RANK OREB_RANK DREB_RANK REB_RANK AST_RANK TOV_RANK STL_RANK BLK_RANK BLKA_RANK PF_RANK PFD_RANK PTS_RANK PLUS_MINUS_RANK NBA_FANTASY_PTS_RANK DD2_RANK TD3_RANK WNBA_FANTASY_PTS_RANK AVAILABLE_FLAG MIN_SEC
0 2024-25 1630567 Scottie Barnes Scottie 1610612761 TOR Toronto Raptors 0022401197 2025-04-13T00:00:00 TOR @ SAS L 36.566667 15 23 0.652 2 2 1.000 3 4 0.750 3 8 11 8 4 0 0 0 0 2 35 -9 56.2 1 0 56.0 1 13222 13222 13222 2294 82 455 4556 4949 14411 1 4159 3754 8186 1615 1271 1106 963 877 12854 8263 1 1 6956 314 20535 563 1 150 408 1 36:34
1 2024-25 1629611 Terance Mann Terance 1610612737 ATL Atlanta Hawks 0022401186 2025-04-13T00:00:00 ATL vs. ORL W 29.683333 9 14 0.643 0 2 0.000 1 2 0.500 2 1 3 4 1 0 0 0 0 1 19 2 27.6 0 0 26.0 1 1 1 1 8057 1688 4240 4607 15070 14411 15070 10215 7446 10625 3306 17569 12778 4780 8789 12854 8263 1 1 11254 4202 10285 8436 2246 150 8552 1 29:41
2 2024-25 1629659 Talen Horton-Tucker Talen 1610612741 CHI Chicago Bulls 0022401191 2025-04-13T00:00:00 CHI @ PHI W 28.533333 6 9 0.667 0 2 0.000 5 7 0.714 0 3 3 6 1 2 0 1 0 4 17 20 34.6 0 0 30.0 1 1 1 1 9085 5250 9700 3281 15070 14411 15070 1817 1377 9244 14058 9417 12778 2199 8789 1671 8263 17462 1 2493 5360 1243 5047 2246 150 6431 1 28:32
3 2024-25 1626192 Pat Connaughton Pat 1610612749 MIL Milwaukee Bucks 0022401192 2025-04-13T00:00:00 MIL vs. DET W 43.566667 16 29 0.552 5 12 0.417 6 9 0.667 1 10 11 5 2 2 0 1 2 7 43 7 67.7 1 0 68.0 1 1 1 1 112 43 56 7652 492 299 7826 1180 643 9425 6876 483 1106 3273 4442 1671 8263 17462 12976 426 54 6330 111 1 150 64 1 43:34
4 2024-25 1630162 Anthony Edwards Anthony 1610612750 MIN Minnesota Timberwolves 0022401195 2025-04-13T00:00:00 MIN vs. UTA W 40.250000 15 31 0.484 7 18 0.389 6 7 0.857 0 6 6 5 2 3 1 1 1 5 43 20 67.7 0 0 69.0 1 1 1 1 503 82 30 11951 76 10 8765 1180 1377 7071 14058 2943 5362 3273 4442 473 2537 17462 6051 1447 54 1243 111 2246 150 54 1 40:15
5 2024-25 1630198 Isaiah Joe Isaiah 1610612760 OKC Oklahoma City Thunder 0022401196 2025-04-13T00:00:00 OKC @ NOP W 34.806667 5 15 0.333 2 11 0.182 5 5 1.000 3 3 6 1 0 2 0 1 3 3 17 12 31.7 0 0 30.0 1 1 1 1 3609 7242 3491 17395 4949 499 14207 1817 2872 1 1615 9417 5362 14293 16469 1671 8263 17462 18916 4218 5360 3654 6320 2246 150 6431 1 34:48
6 2024-25 203497 Rudy Gobert Rudy 1610612750 MIN Minnesota Timberwolves 0022401195 2025-04-13T00:00:00 MIN vs. UTA W 38.466667 8 16 0.500 0 0 0.000 3 5 0.600 8 10 18 0 0 1 4 1 2 4 19 6 55.6 1 0 47.0 1 1 1 1 1124 2561 2836 8526 15070 20945 15070 4159 2872 10343 40 483 65 19908 16469 5026 85 17462 12976 2493 4202 7002 611 1 150 1314 1 38:28
7 2024-25 201935 James Harden James 1610612746 LAC LA Clippers 0022401198 2025-04-13T00:00:00 LAC @ GSW W 48.400000 13 23 0.565 5 8 0.625 8 9 0.889 1 6 7 10 6 2 2 0 3 8 39 5 68.4 1 0 69.0 1 1 1 1 12 245 455 7102 492 2050 2868 481 643 6857 6876 2943 3946 386 150 1671 808 1 18916 220 140 7737 102 1 150 54 1 48:24
8 2024-25 1631250 Pete Nance Pete 1610612749 MIL Milwaukee Bucks 0022401192 2025-04-13T00:00:00 MIL vs. DET W 43.233333 7 12 0.583 5 9 0.556 0 0 0.000 1 5 6 5 4 0 2 0 5 0 19 6 35.7 0 0 39.0 1 1 1 1 135 3730 5979 6296 492 1295 3747 13505 14344 13505 6876 4392 5362 3273 877 12854 808 1 25158 17725 4202 7002 4618 2246 150 2984 1 43:14
9 2024-25 202684 Tristan Thompson Tristan 1610612739 CLE Cleveland Cavaliers 0022401189 2025-04-13T00:00:00 CLE vs. IND L 42.695000 1 4 0.250 0 0 0.000 1 6 0.167 2 18 20 1 3 1 2 0 3 4 3 -25 34.5 0 0 30.0 1 13222 13222 13222 182 19033 18231 20233 15070 20945 15070 10215 1898 13500 3306 5 21 14293 2037 5026 808 1 18916 2493 19913 25842 5099 2246 150 6431 1 42:42
10 2024-25 1631170 Jaime Jaquez Jr. Jaime 1610612748 MIA Miami Heat 0022401190 2025-04-13T00:00:00 MIA vs. WAS L 40.533333 17 25 0.680 2 6 0.333 5 7 0.714 1 9 10 7 3 0 0 0 2 5 41 -4 60.5 1 0 60.0 1 13222 13222 13222 448 22 226 3276 4949 4502 9209 1817 1377 9244 6876 796 1549 1463 2037 12854 8263 1 12976 1447 86 16449 311 1 150 236 1 40:32
11 2024-25 203932 Aaron Gordon Aaron 1610612743 DEN Denver Nuggets 0022401193 2025-04-13T00:00:00 DEN @ HOU W 26.383333 7 13 0.538 1 3 0.333 3 3 1.000 4 3 7 3 3 2 1 0 0 3 18 21 36.9 0 0 35.0 1 1 1 1 10831 3730 5079 7978 8896 11494 9209 4159 6038 1 785 9417 3946 6913 2037 1671 2537 1 1 4218 4762 1041 4187 2246 150 4250 1 26:23
12 2024-25 1630528 Josh Christopher Josh 1610612748 MIA Miami Heat 0022401190 2025-04-13T00:00:00 MIA vs. WAS L 28.433333 7 16 0.438 1 5 0.200 2 2 1.000 0 3 3 3 1 4 2 0 0 1 17 -2 42.1 0 0 36.0 1 13222 13222 13222 9184 3730 2836 13558 8896 6354 13429 6020 7446 1 14058 9417 12778 6913 8789 123 808 1 1 11254 5360 14448 2685 2246 150 3901 1 28:26
13 2024-25 1630249 Vít Krejčí Vít 1610612737 ATL Atlanta Hawks 0022401186 2025-04-13T00:00:00 ATL vs. ORL W 27.816667 5 5 1.000 2 2 1.000 1 1 1.000 2 5 7 7 3 3 0 0 2 0 13 11 37.9 0 0 35.0 1 1 1 1 9700 7242 16437 1 4949 14411 1 10215 12810 1 3306 4392 3946 1463 2037 473 8263 1 12976 17725 8426 4119 3843 2246 150 4250 1 27:49
14 2024-25 1630202 Payton Pritchard Payton 1610612738 BOS Boston Celtics 0022401187 2025-04-13T00:00:00 BOS vs. CHA W 38.500000 14 25 0.560 4 12 0.333 2 2 1.000 3 4 7 7 4 1 0 1 0 2 34 8 51.9 0 0 54.0 1 1 1 1 1107 141 226 7232 1130 299 9209 6020 7446 1 1615 6429 3946 1463 877 5026 8263 17462 1 6956 394 5660 936 2246 150 548 1 38:30
15 2024-25 1630811 Keaton Wallace Keaton 1610612737 ATL Atlanta Hawks 0022401186 2025-04-13T00:00:00 ATL vs. ORL W 37.466667 7 20 0.350 1 7 0.143 0 0 0.000 0 11 11 15 3 5 0 1 3 0 15 5 62.7 1 1 52.0 1 1 1 1 1700 3730 1105 17337 8896 3100 14649 13505 14344 13505 14058 283 1106 32 2037 33 8263 17462 18916 17725 6813 7737 230 1 1 734 1 37:28
16 2024-25 1642281 Jaylon Tyson Jaylon 1610612739 CLE Cleveland Cavaliers 0022401189 2025-04-13T00:00:00 CLE vs. IND L 46.000000 12 25 0.480 4 12 0.333 3 4 0.750 3 4 7 4 5 3 1 1 3 6 31 0 52.4 0 0 54.0 1 13222 13222 13222 35 421 226 11962 1130 299 9209 4159 3754 8186 1615 6429 3946 4780 387 473 2537 17462 18916 792 685 12240 888 2246 150 548 1 46:00
17 2024-25 1627736 Malik Beasley Malik 1610612765 DET Detroit Pistons 0022401192 2025-04-13T00:00:00 DET @ MIL L 19.016667 8 14 0.571 7 11 0.636 0 0 0.000 0 1 1 2 1 1 0 0 1 2 23 1 29.2 0 0 35.0 1 13222 13222 13222 16808 2561 4240 6538 76 499 2842 13505 14344 13505 14058 17569 19889 9909 8789 5026 8263 1 6051 6956 2434 11263 7561 2246 150 4250 1 19:01
18 2024-25 1629022 Lonnie Walker IV Lonnie 1610612755 PHI Philadelphia 76ers 0022401191 2025-04-13T00:00:00 PHI vs. CHI L 36.883333 11 23 0.478 8 15 0.533 1 1 1.000 1 5 6 2 0 0 0 0 0 1 31 -14 41.2 0 0 47.0 1 13222 13222 13222 2069 704 455 11986 27 51 3935 10215 12810 1 6876 4392 5362 9909 16469 12854 8263 1 1 11254 685 23203 2914 2246 150 1314 1 36:53
19 2024-25 201939 Stephen Curry Stephen 1610612744 GSW Golden State Warriors 0022401198 2025-04-13T00:00:00 GSW vs. LAC L 37.998333 10 20 0.500 7 12 0.583 9 9 1.000 1 2 3 6 8 2 0 0 2 5 36 -16 46.6 0 0 56.0 1 13222 13222 13222 1393 1099 1105 8526 76 299 3489 318 643 1 6876 13151 12778 2199 19 1671 8263 1 12976 1447 261 23938 1701 2246 150 408 1 37:60
20 2024-25 1642264 Stephon Castle Stephon 1610612759 SAS San Antonio Spurs 0022401197 2025-04-13T00:00:00 SAS vs. TOR W 37.266667 5 16 0.313 1 3 0.333 9 9 1.000 1 7 8 6 4 0 0 1 2 6 20 2 34.6 0 0 35.0 1 1 1 1 1815 7242 2836 19175 8896 11494 9209 318 643 1 6876 1947 2934 2199 877 12854 8263 17462 12976 792 3676 10285 5047 2246 150 4250 1 37:16
21 2024-25 202695 Kawhi Leonard Kawhi 1610612746 LAC LA Clippers 0022401198 2025-04-13T00:00:00 LAC @ GSW W 47.416667 13 20 0.650 4 8 0.500 3 5 0.600 0 6 6 7 5 3 0 1 1 6 33 17 54.7 0 0 56.0 1 1 1 1 20 245 1105 4562 1130 2050 3944 4159 2872 10343 14058 2943 5362 1463 387 473 8263 17462 6051 792 488 1948 685 2246 150 408 1 47:25
22 2024-25 1631131 Oscar Tshiebwe Oscar 1610612762 UTA Utah Jazz 0022401195 2025-04-13T00:00:00 UTA @ MIN L 24.583333 7 8 0.875 0 0 0.000 4 5 0.800 4 8 12 2 3 3 1 0 2 3 18 8 44.4 1 0 40.0 1 13222 13222 13222 12389 3730 11288 1353 15070 20945 15070 2676 2872 7681 785 1271 760 9909 2037 473 2537 1 12976 4218 4762 5660 2147 1 150 2744 1 24:35
23 2024-25 1629013 Landry Shamet Landry 1610612752 NYK New York Knicks 0022401188 2025-04-13T00:00:00 NYK @ BKN W 40.433333 9 17 0.529 7 13 0.538 4 4 1.000 1 1 2 0 0 1 0 0 2 4 29 12 34.4 0 0 40.0 1 1 1 1 464 1688 2289 8281 76 166 3915 2676 3754 1 6876 17569 16273 19908 16469 5026 8263 1 12976 2493 994 3654 5128 2246 150 2744 1 40:26
24 2024-25 1627826 Ivica Zubac Ivica 1610612746 LAC LA Clippers 0022401198 2025-04-13T00:00:00 LAC @ GSW W 42.255000 11 16 0.688 0 0 0.000 0 0 0.000 4 13 17 3 0 1 1 2 0 0 22 13 52.9 1 0 46.0 1 1 1 1 235 704 2836 3227 15070 20945 15070 13505 14344 13505 785 82 104 6913 16469 5026 2537 23925 1 17725 2824 3250 837 1 150 1461 1 42:15
25 2024-25 1627734 Domantas Sabonis Domantas 1610612758 SAC Sacramento Kings 0022401200 2025-04-13T00:00:00 SAC vs. PHX W 23.716667 8 10 0.800 4 4 1.000 0 0 0.000 4 8 12 6 2 3 0 0 0 1 20 8 50.4 1 0 48.0 1 1 1 1 13138 2561 8304 1688 1130 8688 1 13505 14344 13505 785 1271 760 2199 4442 473 8263 1 1 11254 3676 5660 1125 1 150 1176 1 23:43
26 2024-25 1626166 Cameron Payne Cameron 1610612752 NYK New York Knicks 0022401188 2025-04-13T00:00:00 NYK @ BKN W 33.533333 6 13 0.462 3 7 0.429 6 6 1.000 0 2 2 7 2 1 1 1 3 5 21 17 37.9 0 0 37.0 1 1 1 1 4698 5250 5079 12428 2458 3100 7394 1180 1898 1 14058 13151 16273 1463 4442 5026 2537 17462 18916 1447 3254 1948 3843 2246 150 3591 1 33:32
27 2024-25 203999 Nikola Jokić Nikola 1610612743 DEN Denver Nuggets 0022401193 2025-04-13T00:00:00 DEN @ HOU W 30.770000 7 10 0.700 3 5 0.600 1 2 0.500 1 6 7 7 1 2 1 0 3 3 18 34 44.9 0 0 41.0 1 1 1 1 7070 3730 8304 3045 2458 6354 2992 10215 7446 10625 6876 2943 3946 1463 8789 1671 2537 1 18916 4218 4762 70 2040 2246 150 2498 1 30:46
28 2024-25 1631232 Keion Brooks Jr. Keion 1610612740 NOP New Orleans Pelicans 0022401196 2025-04-13T00:00:00 NOP vs. OKC L 39.376667 5 10 0.500 1 4 0.250 4 5 0.800 1 5 6 2 2 2 1 1 3 3 15 -6 32.2 0 0 30.0 1 13222 13222 13222 759 7242 8304 8526 8896 8688 11902 2676 2872 7681 6876 4392 5362 9909 4442 1671 2537 17462 18916 4218 6813 18298 6093 2246 150 6431 1 39:23
29 2024-25 1630598 Aaron Wiggins Aaron 1610612760 OKC Oklahoma City Thunder 0022401196 2025-04-13T00:00:00 OKC @ NOP W 36.500000 8 18 0.444 2 6 0.333 10 10 1.000 2 5 7 7 1 2 0 1 4 6 28 21 51.9 0 0 48.0 1 1 1 1 2337 2561 1822 13045 4949 4502 9209 183 423 1 3306 4392 3946 1463 8789 1671 8263 17462 22904 792 1156 1041 936 2246 150 1176 1 36:30
30 2024-25 1631311 Lester Quinones Lester 1610612740 NOP New Orleans Pelicans 0022401196 2025-04-13T00:00:00 NOP vs. OKC L 33.583333 5 15 0.333 2 9 0.222 5 5 1.000 0 5 5 6 0 0 0 1 4 6 17 -6 32.0 0 0 30.0 1 13222 13222 13222 4656 7242 3491 17395 4949 1295 13288 1817 2872 1 14058 4392 7268 2199 16469 12854 8263 17462 22904 792 5360 18298 6182 2246 150 6431 1 33:35
31 2024-25 1630643 Jay Huff Jay 1610612763 MEM Memphis Grizzlies 0022401194 2025-04-13T00:00:00 MEM vs. DAL W 27.846667 9 12 0.750 2 4 0.500 2 2 1.000 3 3 6 2 3 2 6 0 3 3 22 16 53.2 0 0 48.0 1 1 1 1 9679 1688 5979 2107 4949 8688 3944 6020 7446 1 1615 9417 5362 9909 2037 1671 13 1 18916 4218 2824 2243 804 2246 150 1176 1 27:51
32 2024-25 1630631 Jose Alvarado Jose 1610612740 NOP New Orleans Pelicans 0022401196 2025-04-13T00:00:00 NOP vs. OKC L 33.616667 5 16 0.313 1 9 0.111 3 3 1.000 0 3 3 4 6 2 0 1 0 3 14 -6 23.6 0 0 26.0 1 13222 13222 13222 4618 7242 2836 19175 8896 1295 15003 4159 6038 1 14058 9417 12778 4780 150 1671 8263 17462 1 4218 7553 18298 10799 2246 150 8552 1 33:37
33 2024-25 1629638 Nickeil Alexander-Walker Nickeil 1610612750 MIN Minnesota Timberwolves 0022401195 2025-04-13T00:00:00 MIN vs. UTA W 32.666667 3 9 0.333 2 8 0.250 1 1 1.000 0 5 5 7 1 2 1 0 1 0 9 6 33.5 0 0 29.0 1 1 1 1 5424 12449 9700 17395 4949 2050 11902 10215 12810 1 14058 4392 7268 1463 8789 1671 2537 1 6051 17725 12445 7002 5493 2246 150 6954 1 32:40
34 2024-25 202693 Markieff Morris Markieff 1610612747 LAL Los Angeles Lakers 0022401199 2025-04-13T00:00:00 LAL @ POR L 32.800000 5 10 0.500 1 3 0.333 0 0 0.000 0 4 4 6 2 1 1 0 4 0 11 -17 28.8 0 0 26.0 1 13222 13222 13222 5326 7242 8304 8526 8896 11494 9209 13505 14344 13505 14058 6429 9701 2199 4442 5026 2537 1 22904 17725 10323 24263 7765 2246 150 8552 1 32:48
35 2024-25 1642382 Branden Carlson Branden 1610612760 OKC Oklahoma City Thunder 0022401196 2025-04-13T00:00:00 OKC @ NOP W 38.550000 10 19 0.526 2 8 0.250 4 4 1.000 6 4 10 2 2 0 3 1 3 2 26 8 48.0 1 0 46.0 1 1 1 1 1087 1099 1432 8379 4949 2050 11902 2676 3754 1 185 6429 1549 9909 4442 12854 252 17462 18916 6956 1579 5660 1485 1 150 1461 1 38:33
36 2024-25 1630215 Jared Butler Jared 1610612755 PHI Philadelphia 76ers 0022401191 2025-04-13T00:00:00 PHI vs. CHI L 25.616667 7 17 0.412 1 6 0.167 4 4 1.000 0 1 1 5 4 1 1 2 2 3 19 -9 29.7 0 0 30.0 1 13222 13222 13222 11477 3730 2289 14791 8896 4502 14236 2676 3754 1 14058 17569 19889 3273 877 5026 2537 23925 12976 4218 4202 20535 7306 2246 150 6431 1 25:37
37 2024-25 1630625 Dalano Banton Dalano 1610612757 POR Portland Trail Blazers 0022401199 2025-04-13T00:00:00 POR vs. LAL W 36.283333 8 22 0.364 4 12 0.333 3 4 0.750 1 4 5 7 3 1 0 2 2 3 23 30 39.5 0 0 41.0 1 1 1 1 2476 2561 626 16861 1130 299 9209 4159 3754 8186 6876 6429 7268 1463 2037 5026 8263 23925 12976 4218 2434 199 3365 2246 150 2498 1 36:17
38 2024-25 202685 Jonas Valančiūnas Jonas 1610612758 SAC Sacramento Kings 0022401200 2025-04-13T00:00:00 SAC vs. PHX W 20.966667 10 11 0.909 0 0 0.000 2 2 1.000 3 7 10 4 2 0 0 0 2 2 22 9 38.0 1 0 36.0 1 1 1 1 15314 1099 7071 1292 15070 20945 15070 6020 7446 1 1615 1947 1549 4780 4442 12854 8263 1 12976 6956 2824 5125 3812 1 150 3901 1 20:58
39 2024-25 1630542 Marcus Bagley Marcus 1610612755 PHI Philadelphia 76ers 0022401191 2025-04-13T00:00:00 PHI vs. CHI L 43.333333 4 9 0.444 0 3 0.000 2 2 1.000 4 11 15 1 2 4 1 0 3 2 10 -19 42.5 1 0 36.0 1 13222 13222 13222 125 9611 9700 13045 15070 11494 15070 6020 7446 1 785 283 224 14293 4442 123 2537 1 18916 6956 11377 24841 2597 1 150 3901 1 43:20
40 2024-25 1642367 Jonathan Mogbo Jonathan 1610612761 TOR Toronto Raptors 0022401197 2025-04-13T00:00:00 TOR @ SAS L 34.916667 4 14 0.286 0 5 0.000 1 2 0.500 4 10 14 10 2 4 0 0 3 1 9 4 50.8 1 0 41.0 1 13222 13222 13222 3527 9611 4240 19630 15070 6354 15070 10215 7446 10625 785 483 349 386 4442 123 8263 1 18916 11254 12445 8479 1074 1 150 2498 1 34:55
41 2024-25 1641716 Jarace Walker Jarace 1610612754 IND Indiana Pacers 0022401189 2025-04-13T00:00:00 IND @ CLE W 31.116667 5 13 0.385 1 5 0.200 0 0 0.000 0 8 8 5 0 2 0 0 1 1 11 -17 34.1 0 0 29.0 1 1 1 1 6775 7242 5079 16070 8896 6354 13429 13505 14344 13505 14058 1271 2934 3273 16469 1671 8263 1 6051 11254 10323 24263 5239 2246 150 6954 1 31:07
42 2024-25 1642267 Bub Carrington Bub 1610612764 WAS Washington Wizards 0022401190 2025-04-13T00:00:00 WAS @ MIA W 40.766667 6 18 0.333 3 9 0.333 0 0 0.000 1 6 7 9 1 1 0 1 3 0 15 -4 38.9 0 0 36.0 1 1 1 1 405 5250 1822 17395 2458 1295 9209 13505 14344 13505 6876 2943 3946 635 8789 5026 8263 17462 18916 17725 6813 16449 3538 2246 150 3901 1 40:46
43 2024-25 1630534 Ochai Agbaji Ochai 1610612761 TOR Toronto Raptors 0022401197 2025-04-13T00:00:00 TOR @ SAS L 37.516667 6 15 0.400 2 8 0.250 0 0 0.000 1 1 2 1 1 4 1 1 5 1 14 -10 31.9 0 0 29.0 1 13222 13222 13222 1673 5250 3491 14933 4949 2050 11902 13505 14344 13505 6876 17569 16273 14293 8789 123 2537 17462 25158 11254 7553 21147 6220 2246 150 6954 1 37:31
44 2024-25 1641774 Tristan Vukcevic Tristan 1610612764 WAS Washington Wizards 0022401190 2025-04-13T00:00:00 WAS @ MIA W 38.716667 9 12 0.750 4 6 0.667 6 7 0.857 1 10 11 5 4 0 1 1 4 6 28 6 47.7 1 0 50.0 1 1 1 1 1003 1688 5979 2107 1130 4502 1957 1180 1377 7071 6876 483 1106 3273 877 12854 2537 17462 22904 792 1156 7002 1521 1 150 943 1 38:43
45 2024-25 200782 P.J. Tucker P.J. 1610612752 NYK New York Knicks 0022401188 2025-04-13T00:00:00 NYK @ BKN W 29.233333 2 5 0.400 2 4 0.500 0 0 0.000 1 1 2 0 1 1 1 0 5 1 6 -18 13.4 0 0 14.0 1 1 1 1 8465 15612 16437 14933 4949 8688 3944 13505 14344 13505 6876 17569 16273 19908 8789 5026 2537 1 25158 11254 15937 24566 17421 2246 150 16370 1 29:14
46 2024-25 1642505 Alex Ducas Alex 1610612760 OKC Oklahoma City Thunder 0022401196 2025-04-13T00:00:00 OKC @ NOP W 14.880000 1 3 0.333 1 2 0.500 2 2 1.000 2 3 5 1 0 0 0 0 4 1 5 4 12.5 0 0 12.0 1 1 1 1 19655 19033 19992 17395 8896 14411 3944 6020 7446 1 3306 9417 7268 14293 16469 12854 8263 1 22904 11254 17323 8479 18057 2246 150 17796 1 14:53
47 2024-25 202699 Tobias Harris Tobias 1610612765 DET Detroit Pistons 0022401192 2025-04-13T00:00:00 DET @ MIL L 10.050000 2 3 0.667 0 1 0.000 0 0 0.000 0 3 3 1 2 2 0 0 1 0 4 -17 13.1 0 0 12.0 1 13222 13222 13222 22090 15612 19992 3281 15070 17631 15070 13505 14344 13505 14058 9417 12778 14293 4442 1671 8263 1 6051 17725 18599 24263 17641 2246 150 17796 1 10:03
48 2024-25 1630658 Colin Castleton Colin 1610612761 TOR Toronto Raptors 0022401197 2025-04-13T00:00:00 TOR @ SAS L 29.266667 5 7 0.714 0 0 0.000 0 1 0.000 1 1 2 0 0 0 0 0 6 2 10 -4 12.4 0 0 12.0 1 13222 13222 13222 8428 7242 12910 2752 15070 20945 15070 13505 12810 13505 6876 17569 16273 19908 16469 12854 8263 1 26091 6956 11377 16449 18115 2246 150 17796 1 29:16
49 2024-25 1629632 Coby White Coby 1610612741 CHI Chicago Bulls 0022401191 2025-04-13T00:00:00 CHI @ PHI W 18.783333 1 6 0.167 0 2 0.000 0 0 0.000 0 4 4 4 3 0 1 0 1 2 2 -14 12.8 0 0 12.0 1 1 1 1 16980 19033 14618 21938 15070 14411 15070 13505 14344 13505 14058 6429 9701 4780 2037 12854 2537 1 6051 6956 21232 23203 17849 2246 150 17796 1 18:47
この様にデータ取得出来ました。

2025年6月18日水曜日

NBA選手シーズンごとの平均リバウンド

NBA選手のシーズン当たりのリバウンド

シーズン毎の得点に続き、シーズン毎のリバウンドを可視化してみます。

外れ値を省くために、1シーズン40試合以上出場した選手で構成しています。

#! /usr/bin/env python

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

sns.set()

fn = "data/player_per_game.csv"
df = pd.read_csv(fn)

df2 = df[df["g"] >= 40] 

desc = df2.groupby("season")["TRB"].describe()
print(desc)

count mean std min 25% 50% 75% max
season
1951 108.0 4.960185 2.849986 1.3 2.900 4.35 6.525 16.4
1952 94.0 5.255319 3.140770 1.0 2.925 4.55 6.950 13.5
1953 102.0 5.138235 3.093143 0.9 3.000 4.25 6.875 14.4
1954 91.0 5.126374 3.164871 0.9 2.800 4.30 6.900 15.3
1955 81.0 5.669136 3.186952 1.2 3.400 4.60 7.600 15.1
1956 80.0 5.626250 3.401479 0.9 3.175 4.45 7.650 16.3
1957 83.0 5.906024 3.658580 1.8 3.400 4.60 8.050 19.6
1958 78.0 6.698718 4.116217 1.7 3.850 5.50 9.550 22.7
1959 85.0 6.207059 3.708510 1.8 3.600 5.30 7.900 23.0
1960 87.0 6.686207 4.410774 1.8 3.800 5.30 8.450 27.0
1961 83.0 6.719277 4.765052 1.2 3.750 5.70 8.200 27.2
1962 100.0 6.430000 4.680488 0.4 3.025 5.80 8.050 25.7
1963 94.0 6.020213 4.181155 0.9 3.000 5.15 7.175 24.3
1964 102.0 5.810784 4.364481 1.1 2.925 4.45 7.350 24.7
1965 94.0 6.128723 4.669637 1.0 2.725 4.75 8.050 24.1
1966 103.0 6.262136 4.472599 1.3 3.200 5.20 7.800 24.6
1967 108.0 6.163889 4.304040 1.1 3.300 5.15 7.650 24.2
1968 136.0 5.927206 4.252833 0.5 2.800 4.70 7.625 23.8
1969 146.0 6.357534 4.192914 0.9 3.500 4.85 8.800 21.1
1970 154.0 5.625974 3.667144 0.9 3.025 4.50 7.475 17.7
1971 181.0 5.475138 3.671193 0.5 3.000 4.50 7.000 18.2
1972 189.0 5.408466 3.859353 0.4 2.800 4.10 6.900 19.2
1973 194.0 5.215464 3.676542 0.8 2.600 4.15 6.450 18.6
1974 184.0 4.972283 3.410149 0.7 2.700 4.00 6.225 18.1
1975 210.0 4.678095 3.153868 0.6 2.200 3.90 6.175 14.8
1976 199.0 4.830151 3.142201 0.6 2.600 4.00 6.250 16.9
1977 260.0 4.676923 3.061885 0.6 2.475 3.80 6.400 14.4
1978 259.0 4.747490 3.039906 0.8 2.600 3.60 6.550 15.7
1979 247.0 4.559514 3.029057 0.8 2.300 3.60 6.050 17.6
1980 248.0 4.656048 2.829866 0.7 2.375 4.00 6.425 15.0
1981 262.0 4.246947 2.670696 0.7 2.100 3.60 5.875 14.8
1982 270.0 4.197778 2.653551 0.6 2.100 3.40 5.700 14.7
1983 277.0 4.253069 2.669222 0.9 2.300 3.60 5.700 15.3
1984 262.0 4.107252 2.664220 0.7 2.100 3.45 5.700 13.4
1985 263.0 4.207224 2.625547 0.6 2.300 3.40 5.650 13.1
1986 260.0 4.213846 2.669888 0.7 2.075 3.45 5.725 13.1
1987 267.0 4.242697 2.804114 0.5 2.000 3.50 5.750 14.6
1988 275.0 4.285455 2.693871 0.6 2.300 3.50 6.050 13.0
1989 292.0 4.261301 2.623311 0.5 2.300 3.55 5.900 13.5
1990 312.0 4.235577 2.640006 0.5 2.375 3.60 5.800 14.0
1991 304.0 4.334539 2.647963 0.6 2.300 3.50 5.825 13.8
1992 310.0 4.260968 2.847617 0.4 2.225 3.45 5.800 18.7
1993 308.0 4.208766 2.792828 0.3 2.275 3.50 5.500 18.3
1994 304.0 4.294737 2.786668 0.7 2.300 3.60 5.500 17.3
1995 314.0 4.174522 2.698690 0.5 2.225 3.30 5.600 16.8
1996 343.0 4.156560 2.615095 0.6 2.250 3.40 5.500 14.9
1997 337.0 4.225223 2.714871 0.4 2.200 3.50 5.500 16.1
1998 342.0 4.232164 2.577404 0.7 2.200 3.50 5.600 15.0
1999 217.0 4.602304 2.575066 1.0 2.700 3.80 6.000 13.0
2000 327.0 4.210398 2.465097 0.6 2.250 3.70 5.700 14.1
2001 335.0 4.276418 2.538543 0.5 2.500 3.70 5.500 14.1
2002 332.0 4.287048 2.386337 0.8 2.600 3.90 5.400 13.0
2003 324.0 4.251235 2.390933 0.4 2.500 3.75 5.525 15.4
2004 348.0 4.263506 2.419223 0.6 2.500 3.80 5.300 13.9
2005 361.0 4.198061 2.427029 0.5 2.400 3.50 5.500 13.5
2006 345.0 4.140290 2.346627 0.4 2.300 3.60 5.200 12.7
2007 348.0 4.118391 2.485521 0.7 2.300 3.40 5.400 12.8
2008 342.0 4.285380 2.571218 0.5 2.400 3.55 5.300 14.2
2009 350.0 4.182857 2.400595 0.8 2.325 3.60 5.300 13.8
2010 348.0 4.204310 2.562793 0.6 2.300 3.50 5.500 13.2
2011 380.0 4.027105 2.375063 0.6 2.400 3.40 5.100 15.2
2012 305.0 4.275410 2.394776 0.8 2.500 3.70 5.300 14.5
2013 365.0 3.986301 2.405506 0.4 2.200 3.30 5.200 12.4
2014 366.0 4.127596 2.449787 0.8 2.400 3.50 5.200 13.6
2015 385.0 4.177143 2.338558 0.7 2.400 3.60 5.300 15.0
2016 360.0 4.134167 2.400563 0.7 2.400 3.50 5.325 14.8
2017 369.0 4.204878 2.443109 0.6 2.600 3.50 5.500 14.1
2018 355.0 4.243944 2.435144 0.4 2.500 3.80 5.400 16.0
2019 391.0 4.353964 2.510497 0.7 2.600 3.80 5.300 15.6
2020 335.0 4.497015 2.457030 1.0 2.700 4.10 5.700 15.8
2021 335.0 4.457612 2.446517 0.9 2.700 3.90 5.600 14.3
2022 384.0 4.383073 2.424720 0.8 2.675 3.90 5.400 14.7
2023 385.0 4.244416 2.354335 0.8 2.600 3.70 5.300 12.5
2024 376.0 4.213298 2.353943 0.8 2.600 3.70 5.200 13.7

結果


1950年代から60年代がレギュラー選手当たり1試合平均5リバウンド以上と高いですね。maxは歴代シーズンリバウンド王です。
ウィルト・チェンバレン選手やビル・ラッセル選手が1試合当たり20リバウンド以上と今では考えられない数値を叩き出しています。
3ポイントが導入された1980年以降は平均4リバウンド台を安定して推移しています。

現代バスケは3ポイントが重視され、戦略や平均得点が変わっていく中、レギュラー選手たちの平均リバウンド回数は1980年から意外に安定していることが分かります。

2025年6月15日日曜日

NBA選手シーズンごとの平均得点

NBA選手のシーズン当たりの得点

 データを元にシーズン毎の平均得点の推移をグラフ化してみます。

外れ値を省くために、1シーズン40試合以上出場した選手で構成しています。

#! /usr/bin/env python  
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns


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

df2 = df[df["g"] >= 40]

des = df2.groupby("season")["PPG"].describe()
print(des)

count mean std min 25% 50% 75% max
season
1950 183.0 8.178142 4.114657 1.7 5.000 7.40 10.800 27.4
1951 108.0 8.976852 4.619314 2.1 5.975 8.10 11.325 28.4
1952 94.0 9.263830 4.777610 1.3 6.100 8.75 12.000 25.4
1953 102.0 9.023529 4.408142 2.2 5.525 8.85 11.275 22.3
1954 91.0 8.651648 4.246943 1.6 5.900 8.20 10.450 24.4
1955 81.0 10.046914 5.192087 2.4 5.900 9.60 13.100 22.7
1956 80.0 10.177500 5.222056 2.4 6.525 8.85 13.225 25.7
1957 83.0 10.397590 5.245439 2.2 6.600 9.70 12.400 25.6
1958 78.0 11.506410 5.798216 3.4 7.400 9.40 16.400 27.8
1959 85.0 11.260000 5.994466 3.5 6.500 9.80 14.400 29.2
1960 87.0 11.886207 6.852264 3.0 7.350 9.90 14.350 37.6
1961 83.0 12.225301 7.547199 2.2 6.400 10.20 15.350 38.4
1962 100.0 12.348000 8.555221 1.5 6.050 10.35 15.950 50.4
1963 94.0 12.045745 7.262833 2.2 7.200 10.50 14.300 44.8
1964 102.0 11.489216 6.883585 1.7 5.775 9.90 15.775 36.9
1965 94.0 11.620213 6.724751 2.5 6.300 11.00 14.575 34.7
1966 103.0 11.838835 6.569899 2.6 7.300 10.70 15.350 33.5
1967 108.0 12.126852 6.489396 3.0 7.225 10.55 17.400 35.6
1968 136.0 11.949265 6.489273 2.0 6.550 11.65 16.625 29.2
1969 146.0 12.370548 6.392174 2.3 7.325 11.50 17.350 28.4
1970 154.0 12.246753 6.560719 2.1 7.200 11.50 15.550 31.2
1971 181.0 11.462431 6.616757 1.5 5.900 9.70 16.000 31.7
1972 189.0 11.605820 6.817438 1.5 5.900 11.10 15.700 34.8
1973 194.0 10.764433 6.656815 1.6 5.700 9.05 14.800 34.0
1974 184.0 10.810326 6.559276 1.8 5.575 9.30 14.975 30.6
1975 210.0 10.341429 6.244741 1.3 5.700 9.00 13.375 34.5
1976 199.0 10.492462 5.890430 1.7 5.900 9.20 13.850 31.1
1977 260.0 10.482308 5.847033 1.4 6.000 9.05 13.225 31.1
1978 259.0 10.945174 5.930006 2.0 6.250 9.60 14.750 27.2
1979 247.0 11.290283 6.263495 1.5 6.500 10.10 15.650 29.6
1980 248.0 11.283065 5.887415 2.5 6.600 10.25 14.900 33.1
1981 262.0 10.632824 5.939516 0.7 5.800 9.55 14.400 30.7
1982 270.0 10.534815 6.001231 1.3 5.700 9.80 14.350 32.3
1983 277.0 10.419134 6.093150 1.5 5.300 8.90 14.100 28.4
1984 262.0 10.524809 6.278965 1.3 5.425 9.00 14.500 30.6
1985 263.0 10.649810 6.560726 1.3 5.400 9.30 14.800 32.9
1986 260.0 10.577692 6.095973 0.6 5.375 9.25 14.300 30.3
1987 267.0 10.570412 6.424687 1.7 5.600 9.20 14.500 37.1
1988 275.0 10.619636 6.160800 1.1 6.000 9.50 14.200 35.0
1989 292.0 10.566438 6.399106 0.7 5.375 9.20 15.000 32.5
1990 312.0 10.410897 6.379762 1.1 5.175 8.95 14.700 33.6
1991 304.0 10.608224 6.295456 1.3 5.300 9.25 14.925 31.5
1992 310.0 10.226129 6.052927 1.1 5.100 9.20 14.175 30.1
1993 308.0 10.318831 6.016749 0.7 5.700 8.80 14.400 32.6
1994 304.0 10.280592 5.696689 1.7 5.675 9.25 14.125 29.8
1995 314.0 10.038854 5.879826 1.2 5.000 9.20 13.550 29.3
1996 343.0 9.868513 5.705394 0.3 5.100 9.10 13.300 30.4
1997 337.0 9.747478 5.926339 1.2 4.800 8.00 13.800 29.6
1998 342.0 9.711988 5.496349 1.1 5.300 9.00 13.275 28.7
1999 217.0 10.335945 5.207891 1.2 6.400 9.30 13.300 26.8
2000 327.0 9.568807 5.702088 0.8 5.400 8.10 12.500 29.7
2001 335.0 9.408955 5.914256 0.6 4.950 7.90 12.000 31.1
2002 332.0 9.771988 5.841670 1.1 5.100 8.40 12.950 31.4
2003 324.0 9.716667 6.016440 0.8 5.175 8.10 13.125 32.1
2004 348.0 9.454885 5.631074 0.9 4.900 7.95 13.225 28.0
2005 361.0 9.865097 5.911378 1.0 5.300 8.40 13.000 30.7
2006 345.0 9.857681 6.261762 1.1 5.000 8.60 13.000 35.4
2007 348.0 10.052299 6.163668 1.1 5.200 8.85 13.325 31.6
2008 342.0 10.047076 5.904616 0.9 5.725 8.65 13.100 30.0
2009 350.0 10.225143 5.957750 0.8 5.200 9.05 14.175 30.2
2010 348.0 10.136782 5.666940 0.7 6.000 8.90 13.800 30.1
2011 380.0 9.819211 5.582670 1.1 5.300 8.70 13.225 27.7
2012 305.0 9.887541 5.262952 1.0 5.500 9.30 12.700 28.0
2013 365.0 9.390959 5.262332 0.5 5.200 8.60 12.800 28.7
2014 366.0 9.807923 5.548187 1.6 5.525 9.05 13.200 32.0
2015 385.0 9.748052 5.014614 1.8 5.900 8.70 12.700 28.1
2016 360.0 9.875833 5.395877 1.3 5.900 8.70 12.700 30.1
2017 369.0 10.226016 5.935251 1.7 6.100 8.70 13.200 31.6
2018 355.0 10.488451 5.692110 1.4 6.050 9.20 13.500 30.4
2019 391.0 10.691560 5.802060 1.0 6.500 9.30 13.700 36.1
2020 335.0 11.280896 6.125054 1.5 6.600 9.80 15.050 34.3
2021 335.0 11.455224 6.338176 1.9 6.750 9.70 14.600 32.0
2022 384.0 10.966927 5.995893 2.2 6.400 9.25 14.450 30.6
2023 385.0 11.378701 6.651446 2.1 6.600 9.50 14.700 33.1
2024 376.0 11.025532 6.538390 1.7 5.975 9.35 14.700 33.9


plt.figure(figsize=(20, 6))
plt.xlim(1950, 2024)
plt.title("points per season")
sns.lineplot(data=des[["mean", "min", "max"]])
plt.show()

結果



最高得点(max)はシーズン得点王なのでよく知られている通りです。
1962年のウィルト・チェンバレン選手や1987年のマイケル・ジョーダン選手はグラフの山を作っています。
平均を見ると概ね10点超える辺りがレギュラー選手の得点と言えます。
1960〜70年代一時12点台と高く、2000年代に一時落ちてますが3Pが増えた現在は11点台となっています。

nba_apiを使いNBAデータを取得する

NBAデータ取得 NBAデータを分析する場合には、まず最初にデータ取得が必要です。 Kaggleなどのデータサイトから検索してもいいし、データサイトからスクレイピングしてる方もいると思います。 そしてPythonのライブラリからもNBAデータを提供してるものがあるので、それを使っ...