在上一篇文章中,介绍了pandas分割函数str.split()的用法,并且使用该方法计算了NBA著名球星勒布朗詹姆斯2020-2021赛季常规赛的投篮命中率。很多小伙伴看过上篇文章后,咨询我如何计算詹姆斯某个月份的得分、篮板、助攻等数据。其实,计算单月数据的方法比较简单,需要用到pandas文本数据方法str.startswith()函数。
Series.str.startswith(pat, na=nan):查看元素是否以pat开头
pat:要搜索的字符串。
na:用于设置序列中的值为NULL时应显示的内容。
返回类型:布尔序列,其中元素以pat开头则为True,否则为False
str.endswith()函数的用法类似:
Series.str.endswith(pat, na=nan):查看元素是否以pat结尾
pat:要搜索的字符串。
na:用于设置序列中的值为NULL时应显示的内容。
返回类型:布尔序列,其中元素以pat结尾则为True,否则为False
1、常规赛数据格式
勒布朗詹姆斯2020-2021赛季常规赛个人数据的数据结构如下:
日期 | 对手 | 比分 | 时间 | 投篮 | ... |
05/17 | 鹈鹕 | 110-98(胜) | 27 | 11-22 | ... |
05/16 | 步行者 | 122-115(胜) | 28 | 11-22 | ... |
... | ... | ... | ... | ... | ... |
2、詹姆斯2月份数据
如果要计算詹姆斯2月份的数据,则需要选取日期中以"02"开头的行即可。
import numpy as np
import pandas an pd
df = pd.read_csv(“lbj-2020-2021-regular.csv”,encoding="gbk")
df02 = df[df['日期'].str.startswith('02')]
DataFrame表df02即为詹姆斯2月份的数据:
日期 | 对手 | 比分 | 时间 | 投篮 | ... |
02/27 | 开拓者 | 93-102(胜) | 36 | 11-21 | ... |
02/25 | 爵士 | 89-114(败) | 28 | 7-13 | ... |
... | ... | ... | ... | ... | ... |
詹姆斯2月份的得分、篮板、助攻平均数据计算如下:
scores = df02['得分'].mean()
rebounds = df02['篮板'].mean()
assists = df02['助攻'].mean()
通过计算得到,詹姆斯2020年2月份的平均得分为26.38分,平均篮板为8.85个,平均助攻为8.69个,非常全面的数据。