% matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
!ls ./data
advanced_basic.csv coach_season.csv single.csv advanced_shooting.csv player_playoff.csv team_playoff.csv avg.csv player_salary.csv team_season.csv coach_playoff.csv player_season.csv tot.csv
salary = pd.read_csv('./data/player_salary.csv')
salary.head()
姓名 | 球队 | 薪金(万美元) | 赛季 | |
---|---|---|---|---|
0 | Kelenna Azubuike | NaN | 5 | 06-07 |
1 | Kelenna Azubuike | NaN | 25 | 06-07 |
2 | Kelenna Azubuike | NaN | 69 | 07-08 |
3 | Kelenna Azubuike | NaN | 290 | 08-09 |
4 | Kelenna Azubuike | NaN | 313 | 09-10 |
kobe_salary = salary[salary['姓名'] == 'Kobe Bryant']
kobe_salary
姓名 | 球队 | 薪金(万美元) | 赛季 | |
---|---|---|---|---|
789 | Kobe Bryant | LAL | 102 | 96-97 |
790 | Kobe Bryant | LAL | 117 | 97-98 |
791 | Kobe Bryant | LAL | 132 | 98-99 |
792 | Kobe Bryant | LAL | 900 | 99-00 |
793 | Kobe Bryant | LAL | 1013 | 00-01 |
794 | Kobe Bryant | LAL | 1125 | 01-02 |
795 | Kobe Bryant | LAL | 1238 | 02-03 |
796 | Kobe Bryant | LAL | 1350 | 03-04 |
797 | Kobe Bryant | LAL | 1418 | 04-05 |
798 | Kobe Bryant | LAL | 1595 | 05-06 |
799 | Kobe Bryant | LAL | 1772 | 06-07 |
800 | Kobe Bryant | LAL | 1949 | 07-08 |
801 | Kobe Bryant | LAL | 2126 | 08-09 |
802 | Kobe Bryant | LAL | 2303 | 09-10 |
803 | Kobe Bryant | LAL | 2481 | 10-11 |
804 | Kobe Bryant | LAL | 2524 | 11-12 |
805 | Kobe Bryant | LAL | 2785 | 12-13 |
806 | Kobe Bryant | LAL | 3045 | 13-14 |
807 | Kobe Bryant | LAL | 2350 | 14-15 |
808 | Kobe Bryant | LAL | 2500 | 15-16 |
kobe_salary_8 = kobe_salary[:10]
kobe_salary_24 = kobe_salary[10:]
kobe_salary_8
姓名 | 球队 | 薪金(万美元) | 赛季 | |
---|---|---|---|---|
789 | Kobe Bryant | LAL | 102 | 96-97 |
790 | Kobe Bryant | LAL | 117 | 97-98 |
791 | Kobe Bryant | LAL | 132 | 98-99 |
792 | Kobe Bryant | LAL | 900 | 99-00 |
793 | Kobe Bryant | LAL | 1013 | 00-01 |
794 | Kobe Bryant | LAL | 1125 | 01-02 |
795 | Kobe Bryant | LAL | 1238 | 02-03 |
796 | Kobe Bryant | LAL | 1350 | 03-04 |
797 | Kobe Bryant | LAL | 1418 | 04-05 |
798 | Kobe Bryant | LAL | 1595 | 05-06 |
kobe_salary_24
姓名 | 球队 | 薪金(万美元) | 赛季 | |
---|---|---|---|---|
799 | Kobe Bryant | LAL | 1772 | 06-07 |
800 | Kobe Bryant | LAL | 1949 | 07-08 |
801 | Kobe Bryant | LAL | 2126 | 08-09 |
802 | Kobe Bryant | LAL | 2303 | 09-10 |
803 | Kobe Bryant | LAL | 2481 | 10-11 |
804 | Kobe Bryant | LAL | 2524 | 11-12 |
805 | Kobe Bryant | LAL | 2785 | 12-13 |
806 | Kobe Bryant | LAL | 3045 | 13-14 |
807 | Kobe Bryant | LAL | 2350 | 14-15 |
808 | Kobe Bryant | LAL | 2500 | 15-16 |
kobe_salary_8['薪金(万美元)'].sum()
8990
kobe_salary_24['薪金(万美元)'].sum()
23835
plt.plot(np.arange(1, 11), kobe_salary_8['薪金(万美元)'], label='Kobe-8')
plt.plot(np.arange(1, 11), kobe_salary_24['薪金(万美元)'], label='Kobe-24')
plt.xlabel('Year')
plt.ylabel('Salary')
plt.legend()
<matplotlib.legend.Legend at 0x108d42cc0>
plt.bar(np.arange(2), [kobe_salary_8['薪金(万美元)'].sum(), kobe_salary_24['薪金(万美元)'].sum()])
plt.xticks(np.arange(2), ['8-Kobe', '24-Kobe'])
([<matplotlib.axis.XTick at 0x108e069b0>, <matplotlib.axis.XTick at 0x108e06fd0>], <a list of 2 Text xticklabel objects>)
coach = pd.read_csv('./data/coach_season.csv')
coach.head()
姓名 | 赛季 | 球队 | 执教 | 投篮 | 命中 | 出手 | 三分 | 三分命中 | 三分出手 | ... | 后场 | 助攻 | 抢断 | 盖帽 | 失误 | 犯规 | 得分 | 胜 | 负 | 胜率 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Rick Adelman | 13--14 | MIN | 82 | 0.444 | 38.9 | 87.5 | 0.341 | 7.3 | 21.5 | ... | 32.2 | 24.0 | 8.8 | 3.6 | 13.5 | 18.3 | 106.9 | 40 | 42 | 0.488 |
1 | Rick Adelman | 12--13 | MIN | 82 | 0.439 | 35.9 | 81.7 | 0.305 | 5.5 | 18.0 | ... | 30.1 | 22.4 | 8.5 | 4.7 | 14.1 | 18.4 | 95.7 | 31 | 51 | 0.378 |
2 | Rick Adelman | 11--12 | MIN | 66 | 0.433 | 35.7 | 82.3 | 0.332 | 7.2 | 21.6 | ... | 31.7 | 19.5 | 6.6 | 4.4 | 14.7 | 18.4 | 97.9 | 26 | 40 | 0.394 |
3 | Rick Adelman | 10--11 | HOU | 82 | 0.454 | 38.7 | 85.1 | 0.367 | 8.3 | 22.5 | ... | 31.1 | 23.8 | 7.1 | 4.5 | 12.8 | 20.0 | 105.9 | 43 | 39 | 0.524 |
4 | Rick Adelman | 09--01 | HOU | 82 | 0.447 | 37.7 | 84.4 | 0.351 | 7.9 | 22.4 | ... | 30.1 | 21.8 | 7.1 | 3.9 | 13.8 | 20.9 | 102.4 | 42 | 40 | 0.512 |
5 rows × 25 columns
LAL_coach = coach[coach['球队'] == 'LAL']
LAL_coach
姓名 | 赛季 | 球队 | 执教 | 投篮 | 命中 | 出手 | 三分 | 三分命中 | 三分出手 | ... | 后场 | 助攻 | 抢断 | 盖帽 | 失误 | 犯规 | 得分 | 胜 | 负 | 胜率 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
94 | Bill Bertka | 98--99 | LAL | 1 | 0.538 | 42.0 | 78.0 | 0.500 | 9.0 | 18.0 | ... | 26.0 | 30.0 | 11.0 | 4.0 | 12.0 | 20.0 | 115.0 | 1 | 0 | 1.000 |
95 | Bill Bertka | 93--94 | LAL | 2 | 0.517 | 45.0 | 87.0 | 0.450 | 4.5 | 10.0 | ... | 27.5 | 27.0 | 7.0 | 4.0 | 14.0 | 24.5 | 109.5 | 1 | 1 | 0.500 |
98 | Bernie Bickerstaff | 12--13 | LAL | 5 | 0.456 | 38.2 | 83.8 | 0.342 | 7.8 | 22.8 | ... | 34.4 | 23.0 | 7.4 | 6.8 | 14.8 | 14.2 | 103.8 | 4 | 1 | 0.800 |
192 | Mike Brown | 12--13 | LAL | 5 | 0.470 | 34.6 | 73.6 | 0.348 | 6.4 | 18.4 | ... | 31.0 | 19.6 | 8.0 | 5.0 | 18.2 | 21.4 | 97.2 | 1 | 4 | 0.200 |
193 | Mike Brown | 11--12 | LAL | 66 | 0.457 | 36.8 | 80.6 | 0.326 | 5.5 | 16.8 | ... | 34.1 | 22.5 | 5.9 | 5.3 | 14.5 | 16.8 | 97.3 | 41 | 25 | 0.621 |
348 | Mike D | 13--14 | LAL | 82 | 0.450 | 38.3 | 85.1 | 0.381 | 9.4 | 24.8 | ... | 32.0 | 24.5 | 7.5 | 5.4 | 14.8 | 19.8 | 103.0 | 27 | 55 | 0.329 |
349 | Mike D | 12--13 | LAL | 72 | 0.457 | 37.2 | 81.3 | 0.356 | 8.9 | 25.1 | ... | 33.4 | 22.3 | 6.9 | 5.1 | 14.4 | 17.9 | 102.4 | 40 | 32 | 0.556 |
417 | Mike Dunleavy | 91--92 | LAL | 82 | 0.456 | 38.8 | 85.1 | 0.267 | 1.5 | 5.4 | ... | 26.8 | 22.0 | 9.2 | 4.9 | 12.7 | 18.8 | 100.4 | 43 | 39 | 0.524 |
418 | Mike Dunleavy | 90--91 | LAL | 82 | 0.484 | 40.8 | 84.3 | 0.304 | 2.8 | 9.1 | ... | 29.8 | 25.5 | 7.8 | 4.7 | 14.1 | 18.6 | 106.3 | 58 | 24 | 0.707 |
559 | Frank Hamblen | 04--05 | LAL | 39 | 0.436 | 36.0 | 82.6 | 0.351 | 7.6 | 21.8 | ... | 29.1 | 21.0 | 6.8 | 3.4 | 13.4 | 22.7 | 99.5 | 10 | 29 | 0.256 |
575 | Del Harris | 98--99 | LAL | 12 | 0.440 | 35.8 | 81.2 | 0.311 | 4.3 | 13.9 | ... | 31.2 | 22.2 | 7.6 | 8.8 | 14.7 | 25.8 | 96.3 | 6 | 6 | 0.500 |
576 | Del Harris | 97--98 | LAL | 82 | 0.481 | 38.4 | 79.7 | 0.351 | 6.1 | 17.3 | ... | 30.1 | 24.5 | 9.0 | 6.8 | 15.0 | 22.7 | 105.5 | 61 | 21 | 0.744 |
577 | Del Harris | 96--97 | LAL | 82 | 0.454 | 36.8 | 81.0 | 0.367 | 6.7 | 18.3 | ... | 29.4 | 22.5 | 9.0 | 7.0 | 14.4 | 22.2 | 100.0 | 56 | 26 | 0.683 |
578 | Del Harris | 95--96 | LAL | 82 | 0.480 | 39.2 | 81.8 | 0.351 | 5.8 | 16.6 | ... | 28.1 | 25.4 | 8.8 | 6.3 | 13.8 | 20.8 | 102.9 | 53 | 29 | 0.646 |
579 | Del Harris | 94--95 | LAL | 82 | 0.463 | 40.0 | 86.4 | 0.352 | 6.4 | 18.2 | ... | 28.2 | 25.3 | 9.1 | 6.9 | 14.7 | 23.6 | 105.1 | 48 | 34 | 0.585 |
679 | Phil Jackson | 10--11 | LAL | 82 | 0.463 | 38.1 | 82.4 | 0.352 | 6.4 | 18.1 | ... | 31.9 | 22.0 | 7.3 | 5.1 | 12.6 | 19.0 | 101.5 | 57 | 25 | 0.695 |
680 | Phil Jackson | 09--10 | LAL | 82 | 0.457 | 38.3 | 83.8 | 0.341 | 6.5 | 19.0 | ... | 32.5 | 21.1 | 7.5 | 4.9 | 13.0 | 19.4 | 101.7 | 57 | 25 | 0.695 |
681 | Phil Jackson | 08--09 | LAL | 82 | 0.474 | 40.3 | 85.1 | 0.361 | 6.7 | 18.5 | ... | 31.5 | 23.3 | 8.8 | 5.1 | 13.1 | 20.7 | 106.9 | 65 | 17 | 0.793 |
682 | Phil Jackson | 07--08 | LAL | 82 | 0.476 | 39.6 | 83.1 | 0.378 | 8.1 | 21.4 | ... | 33.2 | 24.4 | 8.0 | 5.3 | 13.6 | 20.6 | 108.6 | 57 | 25 | 0.695 |
683 | Phil Jackson | 06--07 | LAL | 82 | 0.466 | 37.8 | 81.3 | 0.353 | 7.4 | 21.0 | ... | 30.4 | 22.6 | 7.3 | 5.1 | 15.0 | 23.0 | 103.3 | 42 | 40 | 0.512 |
684 | Phil Jackson | 05--06 | LAL | 82 | 0.453 | 36.5 | 80.6 | 0.349 | 6.7 | 19.3 | ... | 30.3 | 21.1 | 7.7 | 4.3 | 13.4 | 23.1 | 99.4 | 45 | 37 | 0.549 |
685 | Phil Jackson | 03--04 | LAL | 82 | 0.454 | 36.9 | 81.4 | 0.327 | 4.5 | 13.6 | ... | 30.9 | 23.8 | 8.3 | 4.6 | 13.4 | 21.1 | 98.2 | 56 | 26 | 0.683 |
686 | Phil Jackson | 02--03 | LAL | 82 | 0.451 | 37.7 | 83.6 | 0.356 | 5.9 | 16.7 | ... | 31.1 | 23.3 | 7.8 | 5.7 | 14.0 | 22.9 | 100.4 | 50 | 32 | 0.610 |
687 | Phil Jackson | 01--02 | LAL | 82 | 0.461 | 38.4 | 83.4 | 0.354 | 6.2 | 17.5 | ... | 31.8 | 23.0 | 7.6 | 5.8 | 12.1 | 22.2 | 101.3 | 58 | 24 | 0.707 |
688 | Phil Jackson | 00--01 | LAL | 82 | 0.465 | 37.9 | 81.5 | 0.344 | 5.4 | 15.5 | ... | 31.5 | 23.0 | 6.9 | 6.0 | 13.9 | 22.8 | 100.6 | 56 | 26 | 0.683 |
689 | Phil Jackson | 99--00 | LAL | 82 | 0.459 | 38.3 | 83.4 | 0.329 | 4.2 | 12.8 | ... | 33.4 | 23.4 | 7.5 | 6.5 | 13.5 | 22.5 | 100.8 | 67 | 15 | 0.817 |
722 | Magic Johnson | 93--94 | LAL | 16 | 0.459 | 40.9 | 89.1 | 0.301 | 2.7 | 8.9 | ... | 25.6 | 24.9 | 8.9 | 6.0 | 15.4 | 24.9 | 100.7 | 5 | 11 | 0.313 |
945 | Jack McKinney | 79--80 | LAL | 14 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 10 | 4 | 0.714 |
1022 | Joe Mullaney | 70--71 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 48 | 34 | 0.585 |
1023 | Joe Mullaney | 69--70 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 46 | 36 | 0.561 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
1175 | Pat Riley | 86--87 | LAL | 82 | 0.516 | 45.6 | 88.3 | 0.368 | 2.0 | 5.4 | ... | 30.7 | 29.6 | 8.9 | 5.8 | 16.4 | 22.6 | 117.8 | 65 | 17 | 0.793 |
1176 | Pat Riley | 85--86 | LAL | 82 | 0.521 | 46.8 | 89.7 | 0.338 | 1.7 | 5.0 | ... | 31.2 | 29.7 | 8.4 | 5.1 | 17.6 | 24.7 | 117.3 | 62 | 20 | 0.756 |
1177 | Pat Riley | 84--85 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 62 | 20 | 0.756 |
1178 | Pat Riley | 83--84 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 54 | 28 | 0.659 |
1179 | Pat Riley | 82--83 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 58 | 24 | 0.707 |
1180 | Pat Riley | 81--82 | LAL | 71 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 50 | 21 | 0.704 |
1245 | Fred Schaus | 66--67 | LAL | 81 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 36 | 45 | 0.444 |
1246 | Fred Schaus | 65--66 | LAL | 80 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 45 | 35 | 0.563 |
1247 | Fred Schaus | 64--65 | LAL | 80 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 49 | 31 | 0.613 |
1248 | Fred Schaus | 63--64 | LAL | 80 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 42 | 38 | 0.525 |
1249 | Fred Schaus | 62--63 | LAL | 80 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 53 | 27 | 0.663 |
1250 | Fred Schaus | 61--62 | LAL | 80 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 54 | 26 | 0.675 |
1251 | Fred Schaus | 60--61 | LAL | 79 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 36 | 43 | 0.456 |
1264 | Byron Scott | 15--16 | LAL | 82 | 0.414 | 35.1 | 84.8 | 0.318 | 7.8 | 24.5 | ... | 32.2 | 18.0 | 7.2 | 4.1 | 13.0 | 20.3 | 97.3 | 17 | 65 | 0.207 |
1265 | Byron Scott | 14--15 | LAL | 82 | 0.435 | 37.2 | 85.6 | 0.344 | 6.5 | 18.9 | ... | 32.3 | 20.9 | 7.0 | 4.5 | 12.6 | 21.2 | 98.5 | 21 | 61 | 0.256 |
1294 | Bill Sharman | 75--76 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 40 | 42 | 0.488 |
1295 | Bill Sharman | 74--75 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 30 | 52 | 0.366 |
1296 | Bill Sharman | 73--74 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 47 | 35 | 0.573 |
1297 | Bill Sharman | 72--73 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 60 | 22 | 0.732 |
1298 | Bill Sharman | 71--72 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 69 | 13 | 0.841 |
1434 | Rudy Tomjanovich | 04--05 | LAL | 43 | 0.437 | 34.7 | 79.3 | 0.359 | 8.0 | 22.4 | ... | 32.0 | 19.8 | 5.6 | 4.9 | 14.0 | 21.1 | 98.0 | 24 | 19 | 0.558 |
1466 | Butch Van | 68--69 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 55 | 27 | 0.671 |
1467 | Butch Van | 67--68 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 52 | 30 | 0.634 |
1524 | Jerry West | 78--79 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 47 | 35 | 0.573 |
1525 | Jerry West | 77--78 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 45 | 37 | 0.549 |
1526 | Jerry West | 76--77 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 53 | 29 | 0.646 |
1530 | Paul Westhead | 81--82 | LAL | 11 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 7 | 4 | 0.636 |
1531 | Paul Westhead | 80--81 | LAL | 82 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 54 | 28 | 0.659 |
1532 | Paul Westhead | 79--80 | LAL | 68 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 50 | 18 | 0.735 |
1639 | Luke Walton | 16--17 | LAL | 82 | 0.450 | 39.3 | 87.4 | 0.346 | 8.9 | 25.7 | ... | 32.1 | 20.9 | 8.2 | 4.0 | 14.5 | 20.7 | 104.6 | 26 | 56 | 0.317 |
66 rows × 25 columns
def change_season(s):
assert type(s) == str
return s.replace('-', '--')
years = kobe_salary['赛季'].map(change_season)
years
789 96--97 790 97--98 791 98--99 792 99--00 793 00--01 794 01--02 795 02--03 796 03--04 797 04--05 798 05--06 799 06--07 800 07--08 801 08--09 802 09--10 803 10--11 804 11--12 805 12--13 806 13--14 807 14--15 808 15--16 Name: 赛季, dtype: object
mask = LAL_coach['赛季'].isin(years)
LAL_coach[mask]
姓名 | 赛季 | 球队 | 执教 | 投篮 | 命中 | 出手 | 三分 | 三分命中 | 三分出手 | ... | 后场 | 助攻 | 抢断 | 盖帽 | 失误 | 犯规 | 得分 | 胜 | 负 | 胜率 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
94 | Bill Bertka | 98--99 | LAL | 1 | 0.538 | 42.0 | 78.0 | 0.500 | 9.0 | 18.0 | ... | 26.0 | 30.0 | 11.0 | 4.0 | 12.0 | 20.0 | 115.0 | 1 | 0 | 1.000 |
98 | Bernie Bickerstaff | 12--13 | LAL | 5 | 0.456 | 38.2 | 83.8 | 0.342 | 7.8 | 22.8 | ... | 34.4 | 23.0 | 7.4 | 6.8 | 14.8 | 14.2 | 103.8 | 4 | 1 | 0.800 |
192 | Mike Brown | 12--13 | LAL | 5 | 0.470 | 34.6 | 73.6 | 0.348 | 6.4 | 18.4 | ... | 31.0 | 19.6 | 8.0 | 5.0 | 18.2 | 21.4 | 97.2 | 1 | 4 | 0.200 |
193 | Mike Brown | 11--12 | LAL | 66 | 0.457 | 36.8 | 80.6 | 0.326 | 5.5 | 16.8 | ... | 34.1 | 22.5 | 5.9 | 5.3 | 14.5 | 16.8 | 97.3 | 41 | 25 | 0.621 |
348 | Mike D | 13--14 | LAL | 82 | 0.450 | 38.3 | 85.1 | 0.381 | 9.4 | 24.8 | ... | 32.0 | 24.5 | 7.5 | 5.4 | 14.8 | 19.8 | 103.0 | 27 | 55 | 0.329 |
349 | Mike D | 12--13 | LAL | 72 | 0.457 | 37.2 | 81.3 | 0.356 | 8.9 | 25.1 | ... | 33.4 | 22.3 | 6.9 | 5.1 | 14.4 | 17.9 | 102.4 | 40 | 32 | 0.556 |
559 | Frank Hamblen | 04--05 | LAL | 39 | 0.436 | 36.0 | 82.6 | 0.351 | 7.6 | 21.8 | ... | 29.1 | 21.0 | 6.8 | 3.4 | 13.4 | 22.7 | 99.5 | 10 | 29 | 0.256 |
575 | Del Harris | 98--99 | LAL | 12 | 0.440 | 35.8 | 81.2 | 0.311 | 4.3 | 13.9 | ... | 31.2 | 22.2 | 7.6 | 8.8 | 14.7 | 25.8 | 96.3 | 6 | 6 | 0.500 |
576 | Del Harris | 97--98 | LAL | 82 | 0.481 | 38.4 | 79.7 | 0.351 | 6.1 | 17.3 | ... | 30.1 | 24.5 | 9.0 | 6.8 | 15.0 | 22.7 | 105.5 | 61 | 21 | 0.744 |
577 | Del Harris | 96--97 | LAL | 82 | 0.454 | 36.8 | 81.0 | 0.367 | 6.7 | 18.3 | ... | 29.4 | 22.5 | 9.0 | 7.0 | 14.4 | 22.2 | 100.0 | 56 | 26 | 0.683 |
679 | Phil Jackson | 10--11 | LAL | 82 | 0.463 | 38.1 | 82.4 | 0.352 | 6.4 | 18.1 | ... | 31.9 | 22.0 | 7.3 | 5.1 | 12.6 | 19.0 | 101.5 | 57 | 25 | 0.695 |
680 | Phil Jackson | 09--10 | LAL | 82 | 0.457 | 38.3 | 83.8 | 0.341 | 6.5 | 19.0 | ... | 32.5 | 21.1 | 7.5 | 4.9 | 13.0 | 19.4 | 101.7 | 57 | 25 | 0.695 |
681 | Phil Jackson | 08--09 | LAL | 82 | 0.474 | 40.3 | 85.1 | 0.361 | 6.7 | 18.5 | ... | 31.5 | 23.3 | 8.8 | 5.1 | 13.1 | 20.7 | 106.9 | 65 | 17 | 0.793 |
682 | Phil Jackson | 07--08 | LAL | 82 | 0.476 | 39.6 | 83.1 | 0.378 | 8.1 | 21.4 | ... | 33.2 | 24.4 | 8.0 | 5.3 | 13.6 | 20.6 | 108.6 | 57 | 25 | 0.695 |
683 | Phil Jackson | 06--07 | LAL | 82 | 0.466 | 37.8 | 81.3 | 0.353 | 7.4 | 21.0 | ... | 30.4 | 22.6 | 7.3 | 5.1 | 15.0 | 23.0 | 103.3 | 42 | 40 | 0.512 |
684 | Phil Jackson | 05--06 | LAL | 82 | 0.453 | 36.5 | 80.6 | 0.349 | 6.7 | 19.3 | ... | 30.3 | 21.1 | 7.7 | 4.3 | 13.4 | 23.1 | 99.4 | 45 | 37 | 0.549 |
685 | Phil Jackson | 03--04 | LAL | 82 | 0.454 | 36.9 | 81.4 | 0.327 | 4.5 | 13.6 | ... | 30.9 | 23.8 | 8.3 | 4.6 | 13.4 | 21.1 | 98.2 | 56 | 26 | 0.683 |
686 | Phil Jackson | 02--03 | LAL | 82 | 0.451 | 37.7 | 83.6 | 0.356 | 5.9 | 16.7 | ... | 31.1 | 23.3 | 7.8 | 5.7 | 14.0 | 22.9 | 100.4 | 50 | 32 | 0.610 |
687 | Phil Jackson | 01--02 | LAL | 82 | 0.461 | 38.4 | 83.4 | 0.354 | 6.2 | 17.5 | ... | 31.8 | 23.0 | 7.6 | 5.8 | 12.1 | 22.2 | 101.3 | 58 | 24 | 0.707 |
688 | Phil Jackson | 00--01 | LAL | 82 | 0.465 | 37.9 | 81.5 | 0.344 | 5.4 | 15.5 | ... | 31.5 | 23.0 | 6.9 | 6.0 | 13.9 | 22.8 | 100.6 | 56 | 26 | 0.683 |
689 | Phil Jackson | 99--00 | LAL | 82 | 0.459 | 38.3 | 83.4 | 0.329 | 4.2 | 12.8 | ... | 33.4 | 23.4 | 7.5 | 6.5 | 13.5 | 22.5 | 100.8 | 67 | 15 | 0.817 |
1125 | Kurt Rambis | 98--99 | LAL | 37 | 0.475 | 37.0 | 77.9 | 0.360 | 4.9 | 13.5 | ... | 29.2 | 21.6 | 7.8 | 4.8 | 14.9 | 24.4 | 99.5 | 24 | 13 | 0.649 |
1264 | Byron Scott | 15--16 | LAL | 82 | 0.414 | 35.1 | 84.8 | 0.318 | 7.8 | 24.5 | ... | 32.2 | 18.0 | 7.2 | 4.1 | 13.0 | 20.3 | 97.3 | 17 | 65 | 0.207 |
1265 | Byron Scott | 14--15 | LAL | 82 | 0.435 | 37.2 | 85.6 | 0.344 | 6.5 | 18.9 | ... | 32.3 | 20.9 | 7.0 | 4.5 | 12.6 | 21.2 | 98.5 | 21 | 61 | 0.256 |
1434 | Rudy Tomjanovich | 04--05 | LAL | 43 | 0.437 | 34.7 | 79.3 | 0.359 | 8.0 | 22.4 | ... | 32.0 | 19.8 | 5.6 | 4.9 | 14.0 | 21.1 | 98.0 | 24 | 19 | 0.558 |
25 rows × 25 columns
years_8 = kobe_salary_8['赛季'].map(change_season)
mask_8 = LAL_coach['赛季'].isin(years_8)
kobe_coach_8 = LAL_coach[mask_8]
kobe_coach_8
姓名 | 赛季 | 球队 | 执教 | 投篮 | 命中 | 出手 | 三分 | 三分命中 | 三分出手 | ... | 后场 | 助攻 | 抢断 | 盖帽 | 失误 | 犯规 | 得分 | 胜 | 负 | 胜率 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
94 | Bill Bertka | 98--99 | LAL | 1 | 0.538 | 42.0 | 78.0 | 0.500 | 9.0 | 18.0 | ... | 26.0 | 30.0 | 11.0 | 4.0 | 12.0 | 20.0 | 115.0 | 1 | 0 | 1.000 |
559 | Frank Hamblen | 04--05 | LAL | 39 | 0.436 | 36.0 | 82.6 | 0.351 | 7.6 | 21.8 | ... | 29.1 | 21.0 | 6.8 | 3.4 | 13.4 | 22.7 | 99.5 | 10 | 29 | 0.256 |
575 | Del Harris | 98--99 | LAL | 12 | 0.440 | 35.8 | 81.2 | 0.311 | 4.3 | 13.9 | ... | 31.2 | 22.2 | 7.6 | 8.8 | 14.7 | 25.8 | 96.3 | 6 | 6 | 0.500 |
576 | Del Harris | 97--98 | LAL | 82 | 0.481 | 38.4 | 79.7 | 0.351 | 6.1 | 17.3 | ... | 30.1 | 24.5 | 9.0 | 6.8 | 15.0 | 22.7 | 105.5 | 61 | 21 | 0.744 |
577 | Del Harris | 96--97 | LAL | 82 | 0.454 | 36.8 | 81.0 | 0.367 | 6.7 | 18.3 | ... | 29.4 | 22.5 | 9.0 | 7.0 | 14.4 | 22.2 | 100.0 | 56 | 26 | 0.683 |
684 | Phil Jackson | 05--06 | LAL | 82 | 0.453 | 36.5 | 80.6 | 0.349 | 6.7 | 19.3 | ... | 30.3 | 21.1 | 7.7 | 4.3 | 13.4 | 23.1 | 99.4 | 45 | 37 | 0.549 |
685 | Phil Jackson | 03--04 | LAL | 82 | 0.454 | 36.9 | 81.4 | 0.327 | 4.5 | 13.6 | ... | 30.9 | 23.8 | 8.3 | 4.6 | 13.4 | 21.1 | 98.2 | 56 | 26 | 0.683 |
686 | Phil Jackson | 02--03 | LAL | 82 | 0.451 | 37.7 | 83.6 | 0.356 | 5.9 | 16.7 | ... | 31.1 | 23.3 | 7.8 | 5.7 | 14.0 | 22.9 | 100.4 | 50 | 32 | 0.610 |
687 | Phil Jackson | 01--02 | LAL | 82 | 0.461 | 38.4 | 83.4 | 0.354 | 6.2 | 17.5 | ... | 31.8 | 23.0 | 7.6 | 5.8 | 12.1 | 22.2 | 101.3 | 58 | 24 | 0.707 |
688 | Phil Jackson | 00--01 | LAL | 82 | 0.465 | 37.9 | 81.5 | 0.344 | 5.4 | 15.5 | ... | 31.5 | 23.0 | 6.9 | 6.0 | 13.9 | 22.8 | 100.6 | 56 | 26 | 0.683 |
689 | Phil Jackson | 99--00 | LAL | 82 | 0.459 | 38.3 | 83.4 | 0.329 | 4.2 | 12.8 | ... | 33.4 | 23.4 | 7.5 | 6.5 | 13.5 | 22.5 | 100.8 | 67 | 15 | 0.817 |
1125 | Kurt Rambis | 98--99 | LAL | 37 | 0.475 | 37.0 | 77.9 | 0.360 | 4.9 | 13.5 | ... | 29.2 | 21.6 | 7.8 | 4.8 | 14.9 | 24.4 | 99.5 | 24 | 13 | 0.649 |
1434 | Rudy Tomjanovich | 04--05 | LAL | 43 | 0.437 | 34.7 | 79.3 | 0.359 | 8.0 | 22.4 | ... | 32.0 | 19.8 | 5.6 | 4.9 | 14.0 | 21.1 | 98.0 | 24 | 19 | 0.558 |
13 rows × 25 columns
years_24 = kobe_salary_24['赛季'].map(change_season)
mask_24 = LAL_coach['赛季'].isin(years_24)
kobe_coach_24 = LAL_coach[mask_24]
kobe_coach_24
姓名 | 赛季 | 球队 | 执教 | 投篮 | 命中 | 出手 | 三分 | 三分命中 | 三分出手 | ... | 后场 | 助攻 | 抢断 | 盖帽 | 失误 | 犯规 | 得分 | 胜 | 负 | 胜率 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
98 | Bernie Bickerstaff | 12--13 | LAL | 5 | 0.456 | 38.2 | 83.8 | 0.342 | 7.8 | 22.8 | ... | 34.4 | 23.0 | 7.4 | 6.8 | 14.8 | 14.2 | 103.8 | 4 | 1 | 0.800 |
192 | Mike Brown | 12--13 | LAL | 5 | 0.470 | 34.6 | 73.6 | 0.348 | 6.4 | 18.4 | ... | 31.0 | 19.6 | 8.0 | 5.0 | 18.2 | 21.4 | 97.2 | 1 | 4 | 0.200 |
193 | Mike Brown | 11--12 | LAL | 66 | 0.457 | 36.8 | 80.6 | 0.326 | 5.5 | 16.8 | ... | 34.1 | 22.5 | 5.9 | 5.3 | 14.5 | 16.8 | 97.3 | 41 | 25 | 0.621 |
348 | Mike D | 13--14 | LAL | 82 | 0.450 | 38.3 | 85.1 | 0.381 | 9.4 | 24.8 | ... | 32.0 | 24.5 | 7.5 | 5.4 | 14.8 | 19.8 | 103.0 | 27 | 55 | 0.329 |
349 | Mike D | 12--13 | LAL | 72 | 0.457 | 37.2 | 81.3 | 0.356 | 8.9 | 25.1 | ... | 33.4 | 22.3 | 6.9 | 5.1 | 14.4 | 17.9 | 102.4 | 40 | 32 | 0.556 |
679 | Phil Jackson | 10--11 | LAL | 82 | 0.463 | 38.1 | 82.4 | 0.352 | 6.4 | 18.1 | ... | 31.9 | 22.0 | 7.3 | 5.1 | 12.6 | 19.0 | 101.5 | 57 | 25 | 0.695 |
680 | Phil Jackson | 09--10 | LAL | 82 | 0.457 | 38.3 | 83.8 | 0.341 | 6.5 | 19.0 | ... | 32.5 | 21.1 | 7.5 | 4.9 | 13.0 | 19.4 | 101.7 | 57 | 25 | 0.695 |
681 | Phil Jackson | 08--09 | LAL | 82 | 0.474 | 40.3 | 85.1 | 0.361 | 6.7 | 18.5 | ... | 31.5 | 23.3 | 8.8 | 5.1 | 13.1 | 20.7 | 106.9 | 65 | 17 | 0.793 |
682 | Phil Jackson | 07--08 | LAL | 82 | 0.476 | 39.6 | 83.1 | 0.378 | 8.1 | 21.4 | ... | 33.2 | 24.4 | 8.0 | 5.3 | 13.6 | 20.6 | 108.6 | 57 | 25 | 0.695 |
683 | Phil Jackson | 06--07 | LAL | 82 | 0.466 | 37.8 | 81.3 | 0.353 | 7.4 | 21.0 | ... | 30.4 | 22.6 | 7.3 | 5.1 | 15.0 | 23.0 | 103.3 | 42 | 40 | 0.512 |
1264 | Byron Scott | 15--16 | LAL | 82 | 0.414 | 35.1 | 84.8 | 0.318 | 7.8 | 24.5 | ... | 32.2 | 18.0 | 7.2 | 4.1 | 13.0 | 20.3 | 97.3 | 17 | 65 | 0.207 |
1265 | Byron Scott | 14--15 | LAL | 82 | 0.435 | 37.2 | 85.6 | 0.344 | 6.5 | 18.9 | ... | 32.3 | 20.9 | 7.0 | 4.5 | 12.6 | 21.2 | 98.5 | 21 | 61 | 0.256 |
12 rows × 25 columns
kobe_coach_8['姓名'].value_counts()
Phil Jackson 6 Del Harris 3 Kurt Rambis 1 Bill Bertka 1 Rudy Tomjanovich 1 Frank Hamblen 1 Name: 姓名, dtype: int64
kobe_coach_24['姓名'].value_counts()
Phil Jackson 5 Mike D 2 Byron Scott 2 Mike Brown 2 Bernie Bickerstaff 1 Name: 姓名, dtype: int64
kobe_coach_8['姓名'].value_counts().plot(kind='bar')
<matplotlib.axes._subplots.AxesSubplot at 0x10ce60978>
kobe_coach_24['姓名'].value_counts().plot(kind='bar')
<matplotlib.axes._subplots.AxesSubplot at 0x108cdfc18>
season = pd.read_csv('./data/player_season.csv')
kobe_season = season[season['球员'] == 'Kobe Bryant']
kobe_season.head()
球员 | 赛季 | 球队 | 结果 | 比分 | 首发 | 时间 | 投篮 | 命中 | 出手 | ... | 罚球出手 | 篮板 | 前场 | 后场 | 助攻 | 抢断 | 盖帽 | 失误 | 犯规 | 得分 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
41920 | Kobe Bryant | 15-16 | LAL | W | UTA96-101LAL | 1 | 42 | 0.440 | 22 | 50 | ... | 12 | 4 | 0 | 4 | 4 | 1 | 1 | 2 | 1 | 60.0 |
41921 | Kobe Bryant | 15-16 | LAL | L | OKC112-79LAL | 1 | 19 | 0.333 | 4 | 12 | ... | 2 | 1 | 0 | 1 | 0 | 1 | 0 | 2 | 2 | 13.0 |
41922 | Kobe Bryant | 15-16 | LAL | L | HOU130-110LAL | 1 | 27 | 0.455 | 10 | 22 | ... | 11 | 2 | 0 | 2 | 1 | 2 | 0 | 4 | 1 | 35.0 |
41923 | Kobe Bryant | 15-16 | LAL | L | NAN110-102LAL | 1 | 22 | 0.267 | 4 | 15 | ... | 3 | 3 | 0 | 3 | 4 | 1 | 0 | 2 | 0 | 14.0 |
41924 | Kobe Bryant | 15-16 | LAL | L | LAC91-81LAL | 1 | 28 | 0.316 | 6 | 19 | ... | 4 | 3 | 0 | 3 | 1 | 1 | 0 | 1 | 1 | 17.0 |
5 rows × 25 columns
kobe_season_sum = kobe_season.pivot_table(['得分', '出手', '命中', '篮板', '助攻', '抢断', '盖帽', '失误'],
index=['赛季'], margins=True)
kobe_season_sum
出手 | 助攻 | 命中 | 失误 | 得分 | 抢断 | 盖帽 | 篮板 | |
---|---|---|---|---|---|---|---|---|
赛季 | ||||||||
00-01 | 22.205882 | 4.970588 | 10.308824 | 3.235294 | 28.500000 | 1.676471 | 0.632353 | 5.867647 |
01-02 | 19.962500 | 5.475000 | 9.362500 | 2.787500 | 25.237500 | 1.475000 | 0.437500 | 5.512500 |
02-03 | 23.463415 | 5.853659 | 10.585366 | 3.512195 | 30.012195 | 2.207317 | 0.817073 | 6.878049 |
03-04 | 18.123077 | 5.076923 | 7.938462 | 2.630769 | 23.953846 | 1.723077 | 0.430769 | 5.523077 |
04-05 | 20.060606 | 6.030303 | 8.681818 | 4.090909 | 27.560606 | 1.303030 | 0.803030 | 5.939394 |
05-06 | 27.162500 | 4.500000 | 12.225000 | 3.125000 | 35.400000 | 1.837500 | 0.375000 | 5.312500 |
06-07 | 22.818182 | 5.363636 | 10.558442 | 3.311688 | 31.558442 | 1.441558 | 0.467532 | 5.701299 |
07-08 | 20.609756 | 5.378049 | 9.451220 | 3.134146 | 28.329268 | 1.841463 | 0.487805 | 6.304878 |
08-09 | 20.878049 | 4.865854 | 9.756098 | 2.560976 | 26.841463 | 1.463415 | 0.451220 | 5.231707 |
09-10 | 21.493151 | 5.000000 | 9.808219 | 3.191781 | 26.986301 | 1.547945 | 0.273973 | 5.356164 |
10-11 | 19.987805 | 4.731707 | 9.024390 | 2.963415 | 25.341463 | 1.207317 | 0.146341 | 5.109756 |
11-12 | 23.034483 | 4.551724 | 9.896552 | 3.517241 | 27.862069 | 1.189655 | 0.310345 | 5.396552 |
12-13 | 20.448718 | 6.012821 | 9.461538 | 3.679487 | 27.346154 | 1.358974 | 0.320513 | 5.551282 |
13-14 | 12.166667 | 6.333333 | 5.166667 | 5.666667 | 13.833333 | 1.166667 | 0.166667 | 4.333333 |
14-15 | 20.371429 | 5.628571 | 7.600000 | 3.657143 | 22.342857 | 1.342857 | 0.200000 | 5.685714 |
15-16 | 16.863636 | 2.787879 | 6.030303 | 1.954545 | 17.590909 | 0.939394 | 0.196970 | 3.742424 |
96-97 | 5.943662 | 1.281690 | 2.478873 | 1.577465 | 7.591549 | 0.690141 | 0.323944 | 1.859155 |
97-98 | 11.556962 | 2.518987 | 4.949367 | 1.987342 | 15.443038 | 0.936709 | 0.506329 | 3.063291 |
98-99 | 15.580000 | 3.800000 | 7.240000 | 3.140000 | 19.920000 | 1.440000 | 1.000000 | 5.280000 |
99-00 | 17.924242 | 4.893939 | 8.393939 | 2.757576 | 22.500000 | 1.606061 | 0.939394 | 6.303030 |
All | 19.465082 | 4.684250 | 8.706538 | 2.979198 | 24.994799 | 1.444279 | 0.475483 | 5.235513 |
kobe_season_8 = pd.concat([kobe_season_sum[:6], kobe_season_sum[-5:-1]])
kobe_season_8 = kobe_season_8.append(kobe_season_8.mean(), ignore_index=True)
kobe_season_24 = kobe_season_sum[6:16]
kobe_season_24 = kobe_season_24.append(kobe_season_24.mean(), ignore_index=True)
playoff = pd.read_csv('./data/player_playoff.csv')
kobe_playoff = playoff[playoff['球员'] == 'Kobe Bryant']
kobe_playoff.head()
球员 | 赛季 | 球队 | 结果 | 比分 | 时间 | 投篮 | 命中 | 出手 | 三分 | ... | 罚球出手 | 篮板 | 前场 | 后场 | 助攻 | 抢断 | 盖帽 | 失误 | 犯规 | 得分 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2856 | Kobe Bryant | 11-12 | LAL | L | OKC106-90LAL | 41 | 0.545 | 18 | 33 | 0.167 | ... | 7 | 5 | 0 | 5 | 0 | 2 | 0 | 2 | 3 | 42 |
2857 | Kobe Bryant | 11-12 | LAL | L | OKC103-100LAL | 40 | 0.429 | 12 | 28 | 0.000 | ... | 17 | 8 | 3 | 5 | 5 | 0 | 0 | 2 | 1 | 38 |
2858 | Kobe Bryant | 11-12 | LAL | W | OKC96-99LAL | 39 | 0.360 | 9 | 25 | 0.000 | ... | 18 | 7 | 2 | 5 | 6 | 2 | 0 | 2 | 4 | 36 |
2859 | Kobe Bryant | 11-12 | LAL | L | OKC77-75LAL | 43 | 0.360 | 9 | 25 | 0.000 | ... | 2 | 3 | 1 | 2 | 4 | 4 | 0 | 2 | 4 | 20 |
2860 | Kobe Bryant | 11-12 | LAL | L | OKC119-90LAL | 32 | 0.389 | 7 | 18 | 0.333 | ... | 7 | 3 | 0 | 3 | 2 | 0 | 0 | 3 | 3 | 20 |
5 rows × 24 columns
kobe_playoff_sum = kobe_playoff.pivot_table(['得分', '出手', '命中', '篮板', '助攻', '抢断', '盖帽', '失误'],
index=['赛季'], margins=True)
kobe_playoff_sum
出手 | 助攻 | 命中 | 失误 | 得分 | 抢断 | 盖帽 | 篮板 | |
---|---|---|---|---|---|---|---|---|
赛季 | ||||||||
00-01 | 22.375000 | 6.062500 | 10.500000 | 3.187500 | 29.437500 | 1.562500 | 0.750000 | 7.250000 |
01-02 | 22.684211 | 4.578947 | 9.842105 | 2.842105 | 26.631579 | 1.421053 | 0.894737 | 5.842105 |
02-03 | 26.416667 | 5.166667 | 11.416667 | 3.500000 | 32.083333 | 1.166667 | 0.083333 | 5.083333 |
03-04 | 20.909091 | 5.500000 | 8.636364 | 2.772727 | 24.500000 | 1.909091 | 0.318182 | 4.727273 |
05-06 | 20.714286 | 5.142857 | 10.285714 | 4.714286 | 27.857143 | 1.142857 | 0.428571 | 6.285714 |
06-07 | 26.000000 | 4.400000 | 12.000000 | 4.400000 | 32.800000 | 1.000000 | 0.400000 | 5.200000 |
07-08 | 22.047619 | 5.571429 | 10.571429 | 3.333333 | 30.142857 | 1.666667 | 0.380952 | 5.666667 |
08-09 | 23.043478 | 5.478261 | 10.521739 | 2.565217 | 30.217391 | 1.652174 | 0.913043 | 5.347826 |
09-10 | 22.217391 | 5.478261 | 10.173913 | 3.434783 | 29.173913 | 1.347826 | 0.695652 | 6.000000 |
10-11 | 18.600000 | 3.300000 | 8.300000 | 3.100000 | 22.800000 | 1.600000 | 0.300000 | 3.400000 |
11-12 | 25.083333 | 4.333333 | 11.000000 | 2.833333 | 30.000000 | 1.333333 | 0.166667 | 4.833333 |
96-97 | 6.111111 | 1.222222 | 2.333333 | 1.555556 | 8.222222 | 0.333333 | 0.222222 | 1.222222 |
97-98 | 6.909091 | 1.454545 | 2.818182 | 1.000000 | 8.727273 | 0.272727 | 0.727273 | 1.909091 |
98-99 | 17.750000 | 4.625000 | 7.625000 | 3.875000 | 19.750000 | 1.875000 | 1.250000 | 6.875000 |
99-00 | 17.909091 | 4.409091 | 7.909091 | 2.500000 | 21.136364 | 1.454545 | 1.454545 | 4.454545 |
All | 20.450000 | 4.727273 | 9.154545 | 2.940909 | 25.636364 | 1.409091 | 0.654545 | 5.086364 |
kobe_playoff_8 = pd.concat([kobe_playoff_sum[:5], kobe_playoff_sum[-5:-1]])
kobe_playoff_8 = kobe_playoff_8.append(kobe_playoff_8.mean(), ignore_index=True)
kobe_playoff_8
出手 | 助攻 | 命中 | 失误 | 得分 | 抢断 | 盖帽 | 篮板 | |
---|---|---|---|---|---|---|---|---|
0 | 22.375000 | 6.062500 | 10.500000 | 3.187500 | 29.437500 | 1.562500 | 0.750000 | 7.250000 |
1 | 22.684211 | 4.578947 | 9.842105 | 2.842105 | 26.631579 | 1.421053 | 0.894737 | 5.842105 |
2 | 26.416667 | 5.166667 | 11.416667 | 3.500000 | 32.083333 | 1.166667 | 0.083333 | 5.083333 |
3 | 20.909091 | 5.500000 | 8.636364 | 2.772727 | 24.500000 | 1.909091 | 0.318182 | 4.727273 |
4 | 20.714286 | 5.142857 | 10.285714 | 4.714286 | 27.857143 | 1.142857 | 0.428571 | 6.285714 |
5 | 6.111111 | 1.222222 | 2.333333 | 1.555556 | 8.222222 | 0.333333 | 0.222222 | 1.222222 |
6 | 6.909091 | 1.454545 | 2.818182 | 1.000000 | 8.727273 | 0.272727 | 0.727273 | 1.909091 |
7 | 17.750000 | 4.625000 | 7.625000 | 3.875000 | 19.750000 | 1.875000 | 1.250000 | 6.875000 |
8 | 17.909091 | 4.409091 | 7.909091 | 2.500000 | 21.136364 | 1.454545 | 1.454545 | 4.454545 |
9 | 17.975394 | 4.240203 | 7.929606 | 2.883019 | 22.038379 | 1.237530 | 0.680985 | 4.849920 |
kobe_playoff_24 = kobe_playoff_sum[5:11]
kobe_playoff_24 = kobe_playoff_24.append(kobe_playoff_24.mean(), ignore_index=True)
kobe_playoff_24
出手 | 助攻 | 命中 | 失误 | 得分 | 抢断 | 盖帽 | 篮板 | |
---|---|---|---|---|---|---|---|---|
0 | 26.000000 | 4.400000 | 12.000000 | 4.400000 | 32.800000 | 1.000000 | 0.400000 | 5.200000 |
1 | 22.047619 | 5.571429 | 10.571429 | 3.333333 | 30.142857 | 1.666667 | 0.380952 | 5.666667 |
2 | 23.043478 | 5.478261 | 10.521739 | 2.565217 | 30.217391 | 1.652174 | 0.913043 | 5.347826 |
3 | 22.217391 | 5.478261 | 10.173913 | 3.434783 | 29.173913 | 1.347826 | 0.695652 | 6.000000 |
4 | 18.600000 | 3.300000 | 8.300000 | 3.100000 | 22.800000 | 1.600000 | 0.300000 | 3.400000 |
5 | 25.083333 | 4.333333 | 11.000000 | 2.833333 | 30.000000 | 1.333333 | 0.166667 | 4.833333 |
6 | 22.831970 | 4.760214 | 10.427847 | 3.277778 | 29.189027 | 1.433333 | 0.476052 | 5.074638 |
season.head()
球员 | 赛季 | 球队 | 结果 | 比分 | 首发 | 时间 | 投篮 | 命中 | 出手 | ... | 罚球出手 | 篮板 | 前场 | 后场 | 助攻 | 抢断 | 盖帽 | 失误 | 犯规 | 得分 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Kelenna Azubuike | 11-12 | DAL | L | ATL106-89DAL | 0 | 8 | 0.600 | 3 | 5 | ... | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 7.0 |
1 | Kelenna Azubuike | 11-12 | DAL | L | CHI93-83DAL | 0 | 4 | 0.000 | 0 | 1 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 |
2 | Kelenna Azubuike | 11-12 | DAL | W | GSW94-104DAL | 0 | 6 | 0.000 | 0 | 2 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.0 |
3 | Kelenna Azubuike | 09-10 | GSW | L | MIL129-125GSW | 1 | 3 | 0.000 | 0 | 1 | ... | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0.0 |
4 | Kelenna Azubuike | 09-10 | GSW | W | NYK107-121GSW | 1 | 40 | 0.692 | 9 | 13 | ... | 5 | 5 | 1 | 4 | 5 | 2 | 0 | 1 | 2 | 22.0 |
5 rows × 25 columns
league_season_average = season.groupby("球员").mean().describe()[
['出手', '助攻', '命中', '失误', '得分', '抢断', '盖帽', '篮板']]
league_season_average
出手 | 助攻 | 命中 | 失误 | 得分 | 抢断 | 盖帽 | 篮板 | |
---|---|---|---|---|---|---|---|---|
count | 2450.000000 | 2450.000000 | 2450.000000 | 2450.000000 | 2450.000000 | 2450.000000 | 2450.000000 | 2450.000000 |
mean | 5.493904 | 1.440224 | 2.438520 | 1.025482 | 6.413318 | 0.543774 | 0.329814 | 2.850429 |
std | 3.732814 | 1.468558 | 1.785508 | 0.646510 | 4.753373 | 0.388017 | 0.396307 | 2.066735 |
min | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
25% | 2.666667 | 0.450254 | 1.073026 | 0.564853 | 2.819602 | 0.264071 | 0.081487 | 1.336560 |
50% | 4.583702 | 0.971994 | 1.989851 | 0.900945 | 5.192340 | 0.474910 | 0.202961 | 2.390685 |
75% | 7.508094 | 1.915638 | 3.362262 | 1.361798 | 8.825124 | 0.745794 | 0.422239 | 3.792059 |
max | 23.143434 | 11.906314 | 11.469697 | 3.922156 | 30.281818 | 2.832857 | 3.344551 | 13.121844 |
league_season_average.loc['mean'].values
array([ 5.49390404, 1.44022389, 2.4385203 , 1.02548154, 6.41331831, 0.54377434, 0.3298141 , 2.8504294 ])
playoff.head()
球员 | 赛季 | 球队 | 结果 | 比分 | 时间 | 投篮 | 命中 | 出手 | 三分 | ... | 罚球出手 | 篮板 | 前场 | 后场 | 助攻 | 抢断 | 盖帽 | 失误 | 犯规 | 得分 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Kelenna Azubuike | 11-12 | DAL | L | OKC95-79DAL | 5 | 0.333 | 1 | 3 | 1.0 | ... | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 3 |
1 | Kelenna Azubuike | 06-07 | GSW | L | UTA115-101GSW | 1 | NaN | 0 | 0 | NaN | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | Kelenna Azubuike | 06-07 | GSW | W | UTA105-125GSW | 3 | 0.000 | 0 | 1 | NaN | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
3 | Kelenna Azubuike | 06-07 | GSW | W | DAL86-111GSW | 2 | 1.000 | 1 | 1 | NaN | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
4 | Kelenna Azubuike | 06-07 | GSW | L | DAL118-112GSW | 0 | NaN | 0 | 0 | NaN | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
5 rows × 24 columns
league_playoff_average = playoff.groupby("球员").mean().describe()[
['出手', '助攻', '命中', '失误', '得分', '抢断', '盖帽', '篮板']]
league_playoff_average
出手 | 助攻 | 命中 | 失误 | 得分 | 抢断 | 盖帽 | 篮板 | |
---|---|---|---|---|---|---|---|---|
count | 1521.000000 | 1521.000000 | 1521.000000 | 1521.000000 | 1521.000000 | 1521.000000 | 1521.000000 | 1521.000000 |
mean | 5.353836 | 1.321261 | 2.359500 | 0.911726 | 6.353297 | 0.494990 | 0.327098 | 2.805515 |
std | 4.432386 | 1.545623 | 2.040510 | 0.770442 | 5.549196 | 0.445157 | 0.443767 | 2.355371 |
min | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
25% | 1.928571 | 0.298246 | 0.777778 | 0.333333 | 2.000000 | 0.148148 | 0.000000 | 1.000000 |
50% | 4.181818 | 0.833333 | 1.833333 | 0.744186 | 4.924528 | 0.400000 | 0.176471 | 2.211538 |
75% | 7.821918 | 1.750000 | 3.447368 | 1.325000 | 9.189655 | 0.750000 | 0.450000 | 3.929078 |
max | 26.507042 | 12.539216 | 12.308571 | 4.200000 | 33.542857 | 3.000000 | 3.278571 | 13.842105 |
league_playoff_average.loc['mean'].values
array([ 5.35383612, 1.32126091, 2.35949976, 0.91172574, 6.35329695, 0.49498977, 0.32709836, 2.80551524])
class Radar(object):
n = 1
angles =None
def __init__(self, fig, titles, labels, rect=None):
if rect is None:
rect = [0.05, 0.05, 0.95, 0.95]
self.n = len(titles)
self.angles = np.arange(90, 90+360, 360.0/self.n)
self.axes = [fig.add_axes(rect, projection="polar", label="axes%d" % i) for i in range(self.n)]
self.ax = self.axes[0]
self.ax.set_thetagrids(self.angles, labels=titles, fontsize=14)
for ax in self.axes[1:]:
ax.patch.set_visible(False)
ax.grid("off")
ax.xaxis.set_visible(False)
for ax, angle, label in zip(self.axes, self.angles, labels):
ax.set_rgrids(range(1, 6), angle=angle, labels=label)
ax.spines["polar"].set_visible(False)
ax.set_ylim(0, 5)
def angle(self, values, *args, **kw):
return np.deg2rad(np.r_[self.angles]),np.r_[values],values
def plot(self, values, *args, **kw):
angle = np.deg2rad(np.r_[self.angles, self.angles[0]])
values = np.r_[values, values[0]]
self.ax.plot(angle, values, *args, **kw)
# 设立统计指标名称
titles = ['attempt', 'assitant', 'hit', 'miss', 'score', 'steal', 'block', 'rebound']
# 划分雷达轴刻度
labels = [[5, 10, 15, 20, 25], [2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [1, 2, 3, 4, 5],
[10, 20, 30, 40, 50], [0.5, 1, 1.5, 2, 2.5], [0.2, 0.4, 0.6, 0.8, 1], [2, 4, 6, 8, 10]]
fig = plt.figure(figsize=(8, 8))
radar = Radar(fig, titles, labels)
# 科比常规赛、季后赛以及联盟的常规赛、季后赛数据
season_8 = list(kobe_season_8.iloc[-1])
season_24 = list(kobe_season_24.iloc[-1])
playoff_8 = list(kobe_playoff_8.iloc[-1])
playoff_24 = list(kobe_playoff_24.iloc[-1])
season_average = list(league_season_average.loc['mean'].values)
playoff_average = list(league_playoff_average.loc['mean'].values)
# 这里设置了缩放的比例,使得不同数量级的数据可以在同一雷达图上显示
scale = [5, 2, 3, 1, 10, 0.5, 0.2, 2]
# 所有数据按其各自对应比例进行缩放
for i in range(len(season_8)):
season_8[i] /= scale[i]
season_24[i] /= scale[i]
playoff_8[i] /= scale[i]
playoff_24[i] /= scale[i]
season_average[i] /= scale[i]
playoff_average[i] /= scale[i]
# 绘制
radar.plot(season_8, color='b', label='kobe8-season')
radar.plot(season_24, color='r', label='kobe24-season')
radar.plot(playoff_8, color='y', label='kobe8-playoff')
radar.plot(playoff_24, color='black', label='kobe24-playoff')
radar.plot(season_average, color='purple', label='league-season')
radar.plot(playoff_average, color='gray', label='league-playoff')
# 添加数据说明
radar.ax.legend()
<matplotlib.legend.Legend at 0x10e900da0>
常规赛
季后赛
advanced_shooting = pd.read_csv('./data/advanced_shooting.csv')
kobe_advanced_shooting = advanced_shooting[advanced_shooting['姓名'] == 'Kobe Bryant']
kobe_advanced_shooting = kobe_advanced_shooting.dropna()
kobe_advanced_shooting
姓名 | 赛季 | 球队 | 出手距离 | 篮下命中率 | 篮下命中 | 篮下出手 | 篮下占比 | 近距两分 | 近距命中 | ... | 中距两分 | 中距命中 | 中距出手 | 中距占比 | 远距两分 | 远距命中 | 远距出手 | 远距占比 | 真实命中率 | 投篮效率 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1286 | Kobe Bryant | 15--16 | LAL | 17.3 | 0.644 | 1.0 | 1.6 | 0.093 | 0.398 | 0.7 | ... | 0.411 | 1.2 | 2.9 | 0.173 | 0.312 | 1.1 | 3.6 | 0.213 | 0.469 | 0.417 |
1287 | Kobe Bryant | 14--15 | LAL | 15.7 | 0.567 | 1.6 | 2.8 | 0.136 | 0.380 | 1.0 | ... | 0.311 | 1.2 | 3.8 | 0.185 | 0.389 | 2.3 | 5.9 | 0.292 | 0.477 | 0.411 |
1288 | Kobe Bryant | 13--14 | LAL | 14.7 | 0.750 | 1.5 | 2.0 | 0.164 | 0.556 | 0.8 | ... | 0.500 | 1.5 | 3.0 | 0.247 | 0.278 | 0.8 | 3.0 | 0.247 | 0.505 | 0.445 |
1289 | Kobe Bryant | 12--13 | LAL | 14.4 | 0.693 | 3.0 | 4.3 | 0.211 | 0.462 | 1.4 | ... | 0.471 | 1.4 | 3.1 | 0.150 | 0.402 | 1.9 | 4.8 | 0.237 | 0.570 | 0.504 |
1290 | Kobe Bryant | 11--12 | LAL | 15.0 | 0.688 | 2.1 | 3.0 | 0.132 | 0.434 | 1.6 | ... | 0.403 | 1.8 | 4.5 | 0.197 | 0.422 | 2.8 | 6.7 | 0.293 | 0.527 | 0.462 |
1291 | Kobe Bryant | 10--11 | LAL | 14.5 | 0.639 | 1.9 | 3.0 | 0.152 | 0.490 | 1.9 | ... | 0.519 | 2.0 | 3.8 | 0.192 | 0.368 | 1.8 | 5.0 | 0.249 | 0.548 | 0.487 |
1292 | Kobe Bryant | 09--10 | LAL | 13.5 | 0.581 | 2.6 | 4.6 | 0.212 | 0.449 | 1.3 | ... | 0.483 | 2.3 | 4.7 | 0.221 | 0.429 | 2.2 | 5.2 | 0.243 | 0.545 | 0.488 |
1293 | Kobe Bryant | 08--09 | LAL | 14.0 | 0.664 | 2.8 | 4.2 | 0.203 | 0.461 | 1.2 | ... | 0.448 | 1.7 | 3.8 | 0.181 | 0.424 | 2.6 | 6.2 | 0.299 | 0.561 | 0.502 |
1294 | Kobe Bryant | 07--08 | LAL | 14.4 | 0.637 | 3.2 | 5.1 | 0.246 | 0.544 | 1.0 | ... | 0.436 | 1.2 | 2.7 | 0.129 | 0.374 | 2.3 | 6.0 | 0.292 | 0.576 | 0.503 |
1295 | Kobe Bryant | 06--07 | LAL | 14.5 | 0.619 | 3.1 | 5.1 | 0.223 | 0.468 | 1.0 | ... | 0.488 | 1.6 | 3.2 | 0.140 | 0.426 | 3.1 | 7.3 | 0.321 | 0.580 | 0.502 |
1296 | Kobe Bryant | 05--06 | LAL | 15.1 | 0.598 | 3.2 | 5.4 | 0.200 | 0.494 | 1.1 | ... | 0.455 | 1.8 | 4.0 | 0.148 | 0.421 | 3.8 | 9.0 | 0.331 | 0.559 | 0.491 |
1297 | Kobe Bryant | 04--05 | LAL | 13.9 | 0.606 | 3.3 | 5.5 | 0.272 | 0.427 | 1.0 | ... | 0.360 | 0.9 | 2.5 | 0.124 | 0.384 | 1.5 | 4.0 | 0.199 | 0.563 | 0.482 |
1298 | Kobe Bryant | 03--04 | LAL | 11.9 | 0.609 | 3.5 | 5.8 | 0.319 | 0.341 | 0.9 | ... | 0.390 | 0.9 | 2.4 | 0.131 | 0.376 | 1.5 | 4.0 | 0.219 | 0.551 | 0.468 |
1299 | Kobe Bryant | 02--03 | LAL | 13.9 | 0.642 | 3.2 | 5.0 | 0.215 | 0.426 | 1.1 | ... | 0.362 | 1.6 | 4.4 | 0.188 | 0.420 | 3.2 | 7.5 | 0.321 | 0.550 | 0.483 |
1300 | Kobe Bryant | 01--02 | LAL | 12.0 | 0.658 | 3.3 | 5.0 | 0.249 | 0.460 | 1.3 | ... | 0.450 | 1.9 | 4.2 | 0.212 | 0.394 | 2.5 | 6.3 | 0.315 | 0.544 | 0.479 |
1301 | Kobe Bryant | 00--01 | LAL | 12.8 | 0.653 | 3.5 | 5.3 | 0.240 | 0.409 | 1.2 | ... | 0.462 | 1.9 | 4.2 | 0.189 | 0.410 | 2.8 | 6.7 | 0.303 | 0.552 | 0.484 |
16 rows × 22 columns
kobe_advanced_shooting.columns
Index(['姓名', '赛季', '球队', '出手距离', '篮下命中率', '篮下命中', '篮下出手', '篮下占比', '近距两分', '近距命中', '近距出手', '近距占比', '中距两分', '中距命中', '中距出手', '中距占比', '远距两分', '远距命中', '远距出手', '远距占比', '真实命中率', '投篮效率'], dtype='object')
kobe_advanced_shooting_8 = kobe_advanced_shooting[-6:]
kobe_advanced_shooting_24 = kobe_advanced_shooting[:10]
distance_8 = kobe_advanced_shooting_8['出手距离'].values
distance_8
array([ 15.1, 13.9, 11.9, 13.9, 12. , 12.8])
distance_24 = kobe_advanced_shooting_24['出手距离'].values
distance_24
array([ 17.3, 15.7, 14.7, 14.4, 15. , 14.5, 13.5, 14. , 14.4, 14.5])
plt.bar(list(range(2001, 2007)), distance_8, label='Kobe-8')
plt.hlines(distance_8.mean(), 2001, 2006, linestyles='dashed')
plt.bar(list(range(2007, 2017)), distance_24, label='Kobe-24')
plt.hlines(distance_24.mean(), 2007, 2016, linestyles='dashed')
plt.legend()
<matplotlib.legend.Legend at 0x10c7042b0>
从图上来看24号科比的出手距离要更远一些,尤其是更换了号码后的第一年,达到了生涯最远,推测当时正经历技术转型期
distribution_8 = kobe_advanced_shooting_8[['赛季', '篮下占比', '近距占比', '中距占比', '远距占比']]
kobe_distribution_8 = distribution_8.rename(columns={'赛季': 'season', '篮下占比': 'inside-shot', '近距占比': 'short',
'中距占比': 'medium', '远距占比': 'long'})
kobe_distribution_8 = kobe_distribution_8[::-1]
kobe_distribution_8
season | inside-shot | short | medium | long | |
---|---|---|---|---|---|
1301 | 00--01 | 0.240 | 0.134 | 0.189 | 0.303 |
1300 | 01--02 | 0.249 | 0.142 | 0.212 | 0.315 |
1299 | 02--03 | 0.215 | 0.106 | 0.188 | 0.321 |
1298 | 03--04 | 0.319 | 0.147 | 0.131 | 0.219 |
1297 | 04--05 | 0.272 | 0.113 | 0.124 | 0.199 |
1296 | 05--06 | 0.200 | 0.083 | 0.148 | 0.331 |
kobe_distribution_8.index = kobe_distribution_8.index.map(lambda x: 1301 - x + 2001)
kobe_distribution_8.plot(kind='bar')
<matplotlib.axes._subplots.AxesSubplot at 0x10e13de80>
distribution_24 = kobe_advanced_shooting_24[['赛季', '篮下占比', '近距占比', '中距占比', '远距占比']]
kobe_distribution_24 = distribution_24.rename(columns={'赛季': 'season', '篮下占比': 'inside-shot', '近距占比': 'short',
'中距占比': 'medium', '远距占比': 'long'})
kobe_distribution_24 = kobe_distribution_24[::-1]
kobe_distribution_24
season | inside-shot | short | medium | long | |
---|---|---|---|---|---|
1295 | 06--07 | 0.223 | 0.090 | 0.140 | 0.321 |
1294 | 07--08 | 0.246 | 0.087 | 0.129 | 0.292 |
1293 | 08--09 | 0.203 | 0.120 | 0.181 | 0.299 |
1292 | 09--10 | 0.212 | 0.132 | 0.221 | 0.243 |
1291 | 10--11 | 0.152 | 0.190 | 0.192 | 0.249 |
1290 | 11--12 | 0.132 | 0.164 | 0.197 | 0.293 |
1289 | 12--13 | 0.211 | 0.147 | 0.150 | 0.237 |
1288 | 13--14 | 0.164 | 0.123 | 0.247 | 0.247 |
1287 | 14--15 | 0.136 | 0.129 | 0.185 | 0.292 |
1286 | 15--16 | 0.093 | 0.102 | 0.173 | 0.213 |
kobe_distribution_24.index = kobe_distribution_24.index.map(lambda x: 2000 + (1300 - x) + 2)
kobe_distribution_24.plot(kind='bar')
<matplotlib.axes._subplots.AxesSubplot at 0x10cd1ae48>
ps 这一部分原本意图是尝试能否绘制成饼图,但是4个占比数据总和未达到100%,因此改绘制柱状图作单赛季内对比
advance_basic = pd.read_csv('./data/advanced_basic.csv')
kobe_advance_basic = advance_basic[advance_basic['姓名'] == 'Kobe Bryant']
kobe_advance_basic
姓名 | 赛季 | 球队 | 篮板率 | 进攻板 | 防守板 | 助攻率 | 抢断率 | 盖帽率 | 失误率 | 使用率 | 进攻效率 | 防守效率 | WS | 进攻WS | 防守WS | PER | 扣篮 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1286 | Kobe Bryant | 15--16 | LAL | 0.071 | 0.023 | 0.123 | 0.191 | 0.017 | 0.005 | 0.094 | 0.322 | 95.0 | 113.0 | -0.4 | -0.9 | 0.5 | 14.9 | 5.0 |
1287 | Kobe Bryant | 14--15 | LAL | 0.091 | 0.023 | 0.165 | 0.299 | 0.020 | 0.005 | 0.135 | 0.349 | 96.0 | 110.0 | 0.2 | -0.4 | 0.6 | 17.6 | 7.0 |
1288 | Kobe Bryant | 13--14 | LAL | 0.078 | 0.012 | 0.145 | 0.346 | 0.019 | 0.004 | 0.292 | 0.287 | 84.0 | 111.0 | -0.4 | -0.5 | 0.1 | 10.7 | 1.0 |
1289 | Kobe Bryant | 12--13 | LAL | 0.079 | 0.025 | 0.131 | 0.297 | 0.018 | 0.006 | 0.133 | 0.319 | 112.0 | 107.0 | 10.9 | 8.4 | 2.6 | 23.0 | 51.0 |
1290 | Kobe Bryant | 11--12 | LAL | 0.078 | 0.035 | 0.118 | 0.237 | 0.016 | 0.006 | 0.117 | 0.357 | 105.0 | 106.0 | 6.2 | 4.2 | 2.0 | 21.9 | 28.0 |
1291 | Kobe Bryant | 10--11 | LAL | 0.085 | 0.035 | 0.133 | 0.267 | 0.019 | 0.003 | 0.114 | 0.351 | 111.0 | 105.0 | 10.3 | 6.8 | 3.5 | 23.9 | 38.0 |
1292 | Kobe Bryant | 09--10 | LAL | 0.077 | 0.031 | 0.122 | 0.238 | 0.021 | 0.005 | 0.114 | 0.323 | 109.0 | 104.0 | 9.4 | 5.4 | 4.0 | 21.9 | 36.0 |
1293 | Kobe Bryant | 08--09 | LAL | 0.082 | 0.035 | 0.128 | 0.238 | 0.021 | 0.010 | 0.097 | 0.322 | 115.0 | 106.0 | 12.7 | 8.6 | 4.0 | 24.4 | 59.0 |
1294 | Kobe Bryant | 07--08 | LAL | 0.090 | 0.034 | 0.141 | 0.239 | 0.024 | 0.009 | 0.113 | 0.314 | 115.0 | 105.0 | 13.8 | 9.5 | 4.3 | 24.2 | 80.0 |
1295 | Kobe Bryant | 06--07 | LAL | 0.082 | 0.028 | 0.135 | 0.255 | 0.018 | 0.009 | 0.109 | 0.336 | 115.0 | 109.0 | 13.0 | 10.8 | 2.2 | 26.1 | 59.0 |
1296 | Kobe Bryant | 05--06 | LAL | 0.076 | 0.026 | 0.127 | 0.241 | 0.024 | 0.007 | 0.090 | 0.387 | 114.0 | 105.0 | 15.3 | 11.6 | 3.7 | 28.0 | 59.0 |
1297 | Kobe Bryant | 04--05 | LAL | 0.082 | 0.040 | 0.124 | 0.285 | 0.017 | 0.014 | 0.143 | 0.317 | 111.0 | 111.0 | 8.1 | 7.1 | 1.0 | 23.3 | 53.0 |
1298 | Kobe Bryant | 03--04 | LAL | 0.083 | 0.047 | 0.120 | 0.244 | 0.024 | 0.008 | 0.108 | 0.291 | 112.0 | 102.0 | 10.7 | 7.8 | 3.0 | 23.7 | 51.0 |
1299 | Kobe Bryant | 02--03 | LAL | 0.093 | 0.035 | 0.153 | 0.272 | 0.028 | 0.014 | 0.114 | 0.329 | 111.0 | 103.0 | 14.9 | 11.0 | 4.0 | 26.2 | 116.0 |
1300 | Kobe Bryant | 01--02 | LAL | 0.079 | 0.041 | 0.117 | 0.259 | 0.020 | 0.008 | 0.107 | 0.304 | 112.0 | 103.0 | 12.7 | 8.9 | 3.8 | 23.2 | 88.0 |
1301 | Kobe Bryant | 00--01 | LAL | 0.081 | 0.043 | 0.118 | 0.230 | 0.021 | 0.011 | 0.111 | 0.318 | 112.0 | 105.0 | 11.3 | 9.2 | 2.2 | 24.5 | 49.0 |
1302 | Kobe Bryant | 99--00 | LAL | 0.088 | 0.046 | 0.129 | 0.224 | 0.022 | 0.017 | 0.118 | 0.268 | 110.0 | 98.0 | 10.6 | 6.1 | 4.5 | 21.7 | NaN |
1303 | Kobe Bryant | 98--99 | LAL | 0.081 | 0.033 | 0.127 | 0.175 | 0.020 | 0.019 | 0.147 | 0.253 | 106.0 | 104.0 | 5.2 | 3.7 | 1.5 | 18.9 | NaN |
1304 | Kobe Bryant | 97--98 | LAL | 0.067 | 0.045 | 0.087 | 0.160 | 0.018 | 0.013 | 0.124 | 0.272 | 110.0 | 106.0 | 6.3 | 4.5 | 1.8 | 18.5 | NaN |
1305 | Kobe Bryant | 96--97 | LAL | 0.068 | 0.049 | 0.087 | 0.138 | 0.023 | 0.016 | 0.185 | 0.247 | 101.0 | 105.0 | 1.8 | 0.5 | 1.3 | 14.4 | NaN |
kobe_advance_basic_8 = kobe_advance_basic[10:]
kobe_advance_basic_8
姓名 | 赛季 | 球队 | 篮板率 | 进攻板 | 防守板 | 助攻率 | 抢断率 | 盖帽率 | 失误率 | 使用率 | 进攻效率 | 防守效率 | WS | 进攻WS | 防守WS | PER | 扣篮 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1296 | Kobe Bryant | 05--06 | LAL | 0.076 | 0.026 | 0.127 | 0.241 | 0.024 | 0.007 | 0.090 | 0.387 | 114.0 | 105.0 | 15.3 | 11.6 | 3.7 | 28.0 | 59.0 |
1297 | Kobe Bryant | 04--05 | LAL | 0.082 | 0.040 | 0.124 | 0.285 | 0.017 | 0.014 | 0.143 | 0.317 | 111.0 | 111.0 | 8.1 | 7.1 | 1.0 | 23.3 | 53.0 |
1298 | Kobe Bryant | 03--04 | LAL | 0.083 | 0.047 | 0.120 | 0.244 | 0.024 | 0.008 | 0.108 | 0.291 | 112.0 | 102.0 | 10.7 | 7.8 | 3.0 | 23.7 | 51.0 |
1299 | Kobe Bryant | 02--03 | LAL | 0.093 | 0.035 | 0.153 | 0.272 | 0.028 | 0.014 | 0.114 | 0.329 | 111.0 | 103.0 | 14.9 | 11.0 | 4.0 | 26.2 | 116.0 |
1300 | Kobe Bryant | 01--02 | LAL | 0.079 | 0.041 | 0.117 | 0.259 | 0.020 | 0.008 | 0.107 | 0.304 | 112.0 | 103.0 | 12.7 | 8.9 | 3.8 | 23.2 | 88.0 |
1301 | Kobe Bryant | 00--01 | LAL | 0.081 | 0.043 | 0.118 | 0.230 | 0.021 | 0.011 | 0.111 | 0.318 | 112.0 | 105.0 | 11.3 | 9.2 | 2.2 | 24.5 | 49.0 |
1302 | Kobe Bryant | 99--00 | LAL | 0.088 | 0.046 | 0.129 | 0.224 | 0.022 | 0.017 | 0.118 | 0.268 | 110.0 | 98.0 | 10.6 | 6.1 | 4.5 | 21.7 | NaN |
1303 | Kobe Bryant | 98--99 | LAL | 0.081 | 0.033 | 0.127 | 0.175 | 0.020 | 0.019 | 0.147 | 0.253 | 106.0 | 104.0 | 5.2 | 3.7 | 1.5 | 18.9 | NaN |
1304 | Kobe Bryant | 97--98 | LAL | 0.067 | 0.045 | 0.087 | 0.160 | 0.018 | 0.013 | 0.124 | 0.272 | 110.0 | 106.0 | 6.3 | 4.5 | 1.8 | 18.5 | NaN |
1305 | Kobe Bryant | 96--97 | LAL | 0.068 | 0.049 | 0.087 | 0.138 | 0.023 | 0.016 | 0.185 | 0.247 | 101.0 | 105.0 | 1.8 | 0.5 | 1.3 | 14.4 | NaN |
kobe_advance_basic_24 = kobe_advance_basic[:10]
kobe_advance_basic_24
姓名 | 赛季 | 球队 | 篮板率 | 进攻板 | 防守板 | 助攻率 | 抢断率 | 盖帽率 | 失误率 | 使用率 | 进攻效率 | 防守效率 | WS | 进攻WS | 防守WS | PER | 扣篮 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1286 | Kobe Bryant | 15--16 | LAL | 0.071 | 0.023 | 0.123 | 0.191 | 0.017 | 0.005 | 0.094 | 0.322 | 95.0 | 113.0 | -0.4 | -0.9 | 0.5 | 14.9 | 5.0 |
1287 | Kobe Bryant | 14--15 | LAL | 0.091 | 0.023 | 0.165 | 0.299 | 0.020 | 0.005 | 0.135 | 0.349 | 96.0 | 110.0 | 0.2 | -0.4 | 0.6 | 17.6 | 7.0 |
1288 | Kobe Bryant | 13--14 | LAL | 0.078 | 0.012 | 0.145 | 0.346 | 0.019 | 0.004 | 0.292 | 0.287 | 84.0 | 111.0 | -0.4 | -0.5 | 0.1 | 10.7 | 1.0 |
1289 | Kobe Bryant | 12--13 | LAL | 0.079 | 0.025 | 0.131 | 0.297 | 0.018 | 0.006 | 0.133 | 0.319 | 112.0 | 107.0 | 10.9 | 8.4 | 2.6 | 23.0 | 51.0 |
1290 | Kobe Bryant | 11--12 | LAL | 0.078 | 0.035 | 0.118 | 0.237 | 0.016 | 0.006 | 0.117 | 0.357 | 105.0 | 106.0 | 6.2 | 4.2 | 2.0 | 21.9 | 28.0 |
1291 | Kobe Bryant | 10--11 | LAL | 0.085 | 0.035 | 0.133 | 0.267 | 0.019 | 0.003 | 0.114 | 0.351 | 111.0 | 105.0 | 10.3 | 6.8 | 3.5 | 23.9 | 38.0 |
1292 | Kobe Bryant | 09--10 | LAL | 0.077 | 0.031 | 0.122 | 0.238 | 0.021 | 0.005 | 0.114 | 0.323 | 109.0 | 104.0 | 9.4 | 5.4 | 4.0 | 21.9 | 36.0 |
1293 | Kobe Bryant | 08--09 | LAL | 0.082 | 0.035 | 0.128 | 0.238 | 0.021 | 0.010 | 0.097 | 0.322 | 115.0 | 106.0 | 12.7 | 8.6 | 4.0 | 24.4 | 59.0 |
1294 | Kobe Bryant | 07--08 | LAL | 0.090 | 0.034 | 0.141 | 0.239 | 0.024 | 0.009 | 0.113 | 0.314 | 115.0 | 105.0 | 13.8 | 9.5 | 4.3 | 24.2 | 80.0 |
1295 | Kobe Bryant | 06--07 | LAL | 0.082 | 0.028 | 0.135 | 0.255 | 0.018 | 0.009 | 0.109 | 0.336 | 115.0 | 109.0 | 13.0 | 10.8 | 2.2 | 26.1 | 59.0 |
kobe_per_8 = kobe_advance_basic_8['PER'].tolist()[::-1]
plt.plot(list(range(10)), kobe_per_8, label='Kobe-8')
kobe_per_24 = kobe_advance_basic_24['PER'].tolist()[::-1]
plt.plot(list(range(10)), kobe_per_24, label='Kobe-24')
plt.xlabel('Year')
plt.ylabel('PER')
plt.legend()
<matplotlib.legend.Legend at 0x10e2ad4e0>
kobe_ws_8 = kobe_advance_basic_8['WS'].tolist()[::-1]
plt.plot(list(range(10)), kobe_ws_8, label='Kobe-8')
kobe_ws_24 = kobe_advance_basic_24['WS'].tolist()[::-1]
plt.plot(list(range(10)), kobe_ws_24, label='Kobe-24')
plt.xlabel('Year')
plt.ylabel('WS')
plt.legend()
<matplotlib.legend.Legend at 0x10e4ec0b8>
kobe_utilization_8 = kobe_advance_basic_8['使用率'].tolist()[::-1]
plt.plot(list(range(10)), kobe_utilization_8, label='Kobe-8')
kobe_utilization_24 = kobe_advance_basic_24['使用率'].tolist()[::-1]
plt.plot(list(range(10)), kobe_utilization_24, label='Kobe-24')
plt.xlabel('Year')
plt.ylabel('Utilization')
plt.legend()
<matplotlib.legend.Legend at 0x10e607710>
以上3幅图分别是8号科比与24号科比的效率值(PER),胜利贡献值(WS),使用率的对比图。
小结