在之前的幾篇文章中,介紹了pandas分割函式str.split()的用法,并且使用該方法計算了NBA著名球星勒布朗詹姆斯2020-2021賽季常規賽的投籃命中率;介紹了pandas文本資料方法str.startswith()函式,并且使用該方法計算了詹姆斯某個月份的得分、籃板、助攻等資料,很多小伙伴看過之后,給我發私信,想知道詹姆斯在對陣哪只NBA球隊時發揮最出色,在對陣哪只NBA球隊發揮最不理想,如果要得到詹姆斯對陣某只NBA球隊的個人資料,需要用到pandas分組操作groupby方法以及sort_values排序方法,
1、groupby分組方法
groupby的使用方法較為簡單,比如我們要計算詹姆斯2020-2021賽季常規賽對陣所有NBA球隊時的得分、籃板、助攻等平均資料,則:
df = pd.read_csv(“lbj-2020-2021-regular.csv”,encoding="gbk")
df0 = df.groupby(['對手'])[['得分','籃板','助攻']].mean().round(2)
print(df0)
其中,df.groupby(['對手'])[['得分','籃板','助攻']].mean()表示以對手進行分組,分別計算詹姆斯對陣NBA球隊時得分、籃板、助攻的平均資料,
round(2)表示計算得到的平均資料保留兩位小數,
得到的結果為:
| 對手 | 得分 | 籃板 | 助攻 |
| 76人 | 34.00 | 6.00 | 6.00 |
| 公牛 | 22.50 | 9.00 | 6.50 |
| ... | ... | ... | ... |
2、sort_values排序方法
如果我們想知道詹姆斯對陣哪只NBA球隊時發揮最出色或最不理想,需要對詹姆斯的得分、籃板、助攻等資料進行排序,此時要用到sort_values排序方法,
sort_values(by,ascending,na_position)主要涉及三個引數:
by:指定排序的列名或者列名的串列
ascending:指定是否升序排序,默認升序為True,如果降序排序的話,則為False,
na_position:指定缺失值的位置,值為‘first’或‘last’,默認為 ‘last',
使用sort_values()方法對詹姆斯的得分、籃板、助攻等資料進行排序:
df1 = df0.sort_values(by=['得分','籃板','助攻'],ascending=[False,False,False])
print(df1)
得到的結果為:
| 對手 | 得分 | 籃板 | 助攻 |
| 騎士 | 46.00 | 8.00 | 6.00 |
| 太陽 | 38.00 | 5.00 | 6.00 |
| ... | ... | ... | ... |
| 國王 | 16.00 | 8.00 | 7.00 |
| 老鷹 | 15.50 | 4.00 | 6.50 |
由結果可以看到,詹姆斯對陣騎士時發揮最出色,場均得分46分,場均籃板8個,場均助攻6個;對陣老鷹時發揮最不理想,場均得分15.50分,場均籃板4個,場均助攻6.5個,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/305982.html
標籤:python
