爬取NBA球员数据画出球员的雷达图

目录

爬取NBA球员数据并进行清洗

画出两个球员的雷达图

创建时间轴组件自动以时间轴播放

代码整理:

总结


爬取NBA球员数据并进行清洗

这里我是从https://nba.hupu.com/players这个网址爬取了库里和詹姆斯的生涯常规赛数据

库里数据的网址:斯蒂芬-库里|Stephen Curry|斯蒂芬-库里视频|图片|数据资料-虎扑NBA (hupu.com)

詹姆斯的网址:勒布朗-詹姆斯|LeBron James|勒布朗-詹姆斯视频|图片|数据资料-虎扑NBA (hupu.com)

解析库里数据的网页复制生涯常规赛数据的Xpath获取该表的每一个单元格数据的值,把爬取到的数据以表格对象的形式保存。

这里我把爬取并保存为表格数据封装为一个函数方便使用。

def getdata(url): data=requests.get(url).text s=etree.HTML(data) d=[[]for j in range(20)] for j in range(20): for i in range (19): a=s.xpath('//*[@id="in_box"]/div/div[1]/table[2]/tbody/tr['+str(j)+']/td['+str(i)+']/text()') b=str(a) c=b[2:-2] d[j].append(c) data1 = pd.DataFrame(d) data1=data1.drop(columns=0) data1.columns=['赛季', '球队', '场次', '首发', '时间', '投篮', '投篮命中率', '三分', '三分命中率', '罚球', '罚球命中率', '场均篮板', '场均助攻', '场均抢断', '场均盖帽', '场均失误', '场均犯规', '场均得分'] data1=data1.drop(index=[0,1]) return data1

 运行函数并且把数据保存为excel文件

url='https://nba.hupu.com/players/stephencurry-3311.html' url1='https://nba.hupu.com/players/lebronjames-650.html' getdata(url).to_excel('Stephen Curry.xlsx',index=False) getdata(url1).to_excel('LeBron James.xlsx',index=False)

导入球员数据,这里把球员的投篮命中率转换为小数。

data = pd.read_excel(r"LeBron James.xlsx")
data1 = pd.read_excel(r"Stephen Curry.xlsx"

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要根据NBA球员的各项能力,通过雷达图完成能力六边形对比,可以按照以下步骤进行: 1. 确定能力指标:首先,确定用于对比的能力指标,例如得分、篮板、助攻、盖帽、抢断等。选择能够全面反映球员能力的指标,并根据需要进行适当调整。 2. 数据归一化:由于不同能力指标的数值范围可能不同,为了进行对比,需要将各项能力数据进行归一化处理。可以使用标准化或者归一化方法,将每个指标的数值转化为0到1之间的范围。 3. 绘制雷达图:根据归一化后的数据,绘制一个六边形雷达图。每个能力指标对应六边形的一个顶点,而球员在该指标上的表现则决定了六边形的边长和形状。可以使用软件工具(如Python中的matplotlib库)或在线雷达图生成器来绘制雷达图。 4. 添加数据点:在雷达图中,为每个球员添加一个数据点来表示其在各项能力上的表现。根据归一化后的数据,确定数据点所在位置,并用不同的颜色或形状区分不同球员。 5. 对比分析:通过观察不同球员雷达图上的数据点位置,可以直观地比较他们在各项能力上的表现。较高的数据点表示较好的表现,而较低的数据点表示较弱的表现。可以通过对比不同球员数据点位置来评估他们在各项能力上的优劣势。 雷达图能力六边形对比可以提供一个直观的视觉化工具,帮助比较和分析球员的不同能力。然而,需要注意的是,雷达图仅能提供一个整体概览,不能详细揭示各项能力之间的相互关系。因此,在进行能力对比时,还需要结合其他统计数据和观察来全面评估球员的综合能力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值