【資料處理】Seaborn-NBA資料分析案例(4)
我報名參加金石計劃1期挑戰——瓜分10萬獎池,這是我的第5篇文章,點選檢視活動詳情
注意:本案例使用 Jupyter NotebookJupyterNotebook 進行案例演示,資料集為NBA球員資訊資料集。本專案將進行完整的資料分析演示。資料集相關介紹請參考本系列第一篇文章:【資料處理】Seaborn-NBA資料分析案例(1) - 掘金 (juejin.cn)
1. 球隊資料分析
1.1 球隊薪資排行
1.1.1 讀取資料
讀取NBA球員資訊資料,並匯入相關庫。 ```python import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns
1. 獲取資料集
NBA = pd.read_csv("nba_2017_nba_players_with_salary.csv") NBA.head() ```
1.1.2 球隊薪資排序
groupby:分組函式
agg是一個聚合函式,使用指定軸上的一個或多個操作進行聚合。在Pandas中可以利用agg()對Series、DataFrame以及groupby() 後的結果進行聚合操作。 常用函式如min,max,median,std,count,size,sum等,直接用函式名加引號" "即可,如果有多個函式,用逗號隔開;
- 對NBA球隊進行分組,然後將每個組的SALARY_MILLIONS進行聚合,並且計算平均值。
- 對分組聚合後的資料進行降序排序,展示前十名資料
- head(10):展示前10名資料
- ascending=False:降序排列
- sort_values:對指定列排序 ```python NBA_TEAM = NBA.groupby(by="TEAM").agg({"SALARY_MILLIONS": np.mean})
所有球隊薪資平均情況
NBA_TEAM.sort_values(by="SALARY_MILLIONS", ascending=False).head(10)
看前十名
```
執行結果如下圖所示:
1.2 球隊年齡結構
此處,我們想按照分球隊分年齡段,上榜球員PLAYER降序排列。如上榜球員數相同,則按效率值RPM降序排列。
1.2.1 分組聚合
- 分了兩個組:球隊和年齡段
- 聚合了三個指標:薪水,效率值,上榜球員數量
- 我們先分組聚合,再進行排序
python
NBA_rpm = NBA.groupby(by=["TEAM","age_cut"]).agg({"SALARY_MILLIONS": "mean", "RPM": "mean", "PLAYER":"size"})
NBA_rpm
執行結果如下圖所示:
1.2.2 排序
- 先以球員數量PLAYER排序
- 若PLAYER數量相同,再使用效率值RPM排序
- 都是降序排列
python
NBA_rpm.sort_values(by=["PLAYER", "RPM"], ascending=False)
執行結果如下圖所示:
2. 球隊資料視覺化
2.1 繪製箱形圖
- 篩選出指定球隊的球員樣本
- 繪製箱形圖
- 指定箱型圖的x軸和y軸
2.1.1 獲取指定資料
- 我們想獲取指定球隊的資料
- 以表的形式返回 ```python
獲取需要的資料
NBA_TEAM2 = NBA[NBA.TEAM.isin(['GS','CLE','SA','LAC','OKC'])] ```
2.1.2 繪製箱形圖
- 三張圖放在一個畫布裡面
- 希望檢視三個特徵
- x軸為不同的TEAM
- y軸為對應的特徵 ```python sns.set_style("whitegrid") plt.figure(figsize=(20,10))
進行相應的繪圖
plt.subplot(3,1,1) sns.boxplot(x='TEAM', y='SALARY_MILLIONS', data = NBA_TEAM2)
plt.subplot(3,1,2) sns.boxplot(x='TEAM', y='AGE', data = NBA_TEAM2)
plt.subplot(3,1,3) sns.boxplot(x='TEAM', y='MPG', data = NBA_TEAM2)
plt.savefig("./箱形圖.png") ```
執行結果如下圖所示:
- 【深度學習】TensorFlow線性迴歸案例演示(3)
- 【機器學習】LSTM神經網路實現中國人口預測(2)
- 【資料處理】北京市租房案例實戰(5)
- 【資料處理】Pandas庫:畫圖與檔案讀取
- 【資料處理】Pandas庫:陣列運算
- 【資料處理】北京市租房案例實戰(3)
- 【PaddleDetection深度學習】中國交通標誌影象分類任務
- 【資料處理】北京市租房案例實戰(4)
- 【資料處理】北京市租房案例實戰(2)
- 【資料處理】Seaborn-NBA資料分析案例(4)
- 【深度學習】工業安全生產環境違規使用手機的識別
- 【資料處理】北京市租房案例實戰(1)
- 【資料處理】Seaborn-NBA資料分析案例(2)
- 【Numpy】資料處理-Numpy庫基本介紹
- 【Numpy資料處理】ndarray介紹
- 【深度學習】醫學影像目標檢測-瘧原蟲識別問題
- Linux作業系統-基本使用(1)
- 智慧演算法-粒子群演算法(3)
- 智慧演算法-粒子群演算法(2)
- 智慧演算法-禁忌搜尋演算法(2)