《python数据挖掘入门与实践》决策树预测nba数据集
前言: 学到决策树预测球队输赢时,按照书中网址去下载数据集,无奈怎么也没下载成功。即使下载了excel文件也是破损的。咱可是学了python的银,那好吧,我就把它爬取下来。(资源在下面)
代码:
'''爬取《python数据挖掘入门与实践》提到的nba赛况https://www.basketball-reference.com/leagues/NBA_2014_games-october.html操作:编译.py后,使用save()方法即可
'''
from urllib.request import urlopen
from bs4 import BeautifulSoup
import pandas as pd
import numpy as npBASE_URL = 'https://www.basketball-reference.com/leagues/NBA_2014_games-{month}.html'
all_month = np.array(['october','november','december','january','february','march','april','may','june'])def get_content():list = []for i in range(len(all_month)):url = BASE_URL.format(month=all_month[i])print(url)html = urlopen(url).read()bsObj = BeautifulSoup(html,'lxml')rows = [dd for dd in bsObj.select('tbody tr')]#selectk()可以多重刷选for row in rows:cell = [i.text for i in row.find_all('td')]#对于每一个tr标签内也可以进行td标签筛选list.append(cell)return list#返回二维列表
#存储为scv格式
def save():file = open('D:\\Python\\PythonProject\\nba_decisiontree_test\\matches.csv','w')#地址要自己改list = get_content()df_data = pd.DataFrame(columns=[1,2,3,4,5,6,7,8,9] ,data=list)df_data.to_csv(file)print('done')
输出:
>>> save()
https://www.basketball-reference.com/leagues/NBA_2014_games-october.html
https://www.basketball-reference.com/leagues/NBA_2014_games-november.html
https://www.basketball-reference.com/leagues/NBA_2014_games-december.html
https://www.basketball-reference.com/leagues/NBA_2014_games-january.html
https://www.basketball-reference.com/leagues/NBA_2014_games-february.html
https://www.basketball-reference.com/leagues/NBA_2014_games-march.html
https://www.basketball-reference.com/leagues/NBA_2014_games-april.html
https://www.basketball-reference.com/leagues/NBA_2014_games-may.html
https://www.basketball-reference.com/leagues/NBA_2014_games-june.html
done
数据展示:
补充: 看到后面发现还有一份数据需要用,但是上面的代码却不能够用在这里。原因是球队排行的数据被注释掉了(查看网页源码可发现)。所以这里用到了正则表达式去获取注释。
代码:
'''#get_standing_data.py获取《python数据挖掘入门与实践》决策树nba球队预测的球队排行数据存储地址自行修改
'''
from urllib.request import urlopen
from bs4 import BeautifulSoup
import pandas as pd
import re#pattern = re.compile('<!--[\s\S]*?-->')#html注释的正则:<!--[\s\S]*?-->
pattern = re.compile('<tbody>[\s\S]*?</tbody>')#模仿html注释的正则
url = 'https://www.basketball-reference.com/leagues/NBA_2013_standings.html'
html = urlopen(url).read()
bsObj = BeautifulSoup(html,'lxml')
content = bsObj.find(id='all_expanded_standings').prettify()
match = re.search(pattern,content)
str_tbody = match.group()
html_tbody = BeautifulSoup(str_tbody,'lxml')#将str字符串传入获得html对象
list = []
for tr in html_tbody.find_all('tr'):rows = [td.text for td in tr.find_all('td')]list.append(rows)#转成csv格式
file = 'D:\\Python\\PythonProject\\nba_decisiontree_test\\standing.csv'#自行修改
df_data = pd.DataFrame(data=list)
df_data.to_csv(file)
print('done')
部分数据展示:
>>> df_data0 1 2 3 4 5 6 7 \
0 Miami Heat 66-16 37-4 29-12 41-11 25-5 14-4 12-6
1 Oklahoma City Thunder 60-22 34-7 26-15 21-9 39-13 7-3 8-2
2 San Antonio Spurs 58-24 35-6 23-18 25-5 33-19 8-2 9-1
3 Denver Nuggets 57-25 38-3 19-22 19-11 38-14 5-5 10-0
4 Los Angeles Clippers 56-26 32-9 24-17 21-9 35-17 7-3 8-2
5 Memphis Grizzlies 56-26 32-9 24-17 22-8 34-18 8-2 8-2
6 New York Knicks 54-28 31-10 23-18 37-15 17-13 10-6 12-6
7 Brooklyn Nets 49-33 26-15 23-18 36-16 13-17 11-5 13-5
8 Indiana Pacers 49-32 30-11 19-21 31-20 18-12 6-11 13-3
9 Golden State Warriors 47-35 28-13 19-22 19-11 28-24 7-3 5-5
10 Chicago Bulls 45-37 24-17 21-20 34-18 11-19 13-5 9-7
11 Houston Rockets 45-37 29-12 16-25 21-9 24-28 7-3 7-3
12 Los Angeles Lakers 45-37 29-12 16-25 17-13 28-24 6-4 6-4
13 Atlanta Hawks 44-38 25-16 19-22 29-23 15-15 7-11 11-7
14 Utah Jazz 43-39 30-11 13-28 17-13 26-26 5-5 5-5
15 Boston Celtics 41-40 27-13 14-27 27-24 14-16 7-9 8-9
16 Dallas Mavericks 41-41 24-17 17-24 17-13 24-28 5-5 6-4
文件资源: 有用的话点个赞呗
链接:https://pan.baidu.com/s/1eUfa914 密码:5ptu
———关注我的公众号,一起学数据挖掘————
《python数据挖掘入门与实践》决策树预测nba数据集相关推荐
- Python数据挖掘入门与实践---用决策树预测获胜球队
数据集来源:1. 2013-14 NBA Schedule and Results 2.2013年 NBA 赛季排名情况 参考书籍:<Python数据挖掘入门与实践> 1.加载数据集: ...
- 《python数据挖掘》和《python数据挖掘入门与实践》两本书读后感
这些天花了很多时间来学习数据挖掘这门课程,有很多心得和感悟,所以写下这篇博客来表达自己读完这两本书的感受! 首先推荐大家通过这两本书来入门数据挖掘这个领域,python数据挖掘这本书较容易,还花了很大 ...
- Python数据挖掘入门与实践-OneR分类算法
Python数据挖掘入门与实践-OneR分类算法 OneR算法 OneR算法是根据已有的数据中,具有相同特征值的个体最可能属于哪个类别进行分类. 在本例中,只需选区Iris是个特征中分类效果最好的一个 ...
- 改写《python数据挖掘入门与实践》第九章Gutenberg书籍下载代码
@数据挖掘 改写<python数据挖掘入门与实践>第九章Gutenberg书籍下载代码 可能是gutenberg网站改版的缘故,随书附带的getdata.py代码执行会报错. 个人将其进行 ...
- python_tweets.json (python数据挖掘入门与实践数据集下载)
最近在看python数据挖掘入门与实践一书,书不错,有个不好的地方是,书上所用的数据集,有几个测试数据在网上非常不好找 下面几个资源是我自己整理出来的,上传到CSDN,有需要的朋友可以下载 leagu ...
- Python数据挖掘入门与实践 第三章 用决策树预测获胜球队(一)pandas的数据预处理与决策树(Decision tree)
作为一个NBA球迷,看到这一章还是挺激动的. 不过内容有点难,研究了半天... 要是赌球的,用这章的预测+凯利公式,是不是就能提升赢钱概率了? 数据预处理 回归书本内容,既然要分析,首先需要有数据: ...
- 数据挖掘入门读物《Python数据挖掘入门与实践》豆瓣评分[7.70]
好书推荐.视频分享,公众号"读书ReadBook"与您一起进步 下载地址-- 1.点击阅读原文或者地址 https://ebooklist.mobi/2019/05/20/6465 ...
- Python数据挖掘入门与实践pdf
下载地址:网盘下载 内容简介 · · · · · · 本书作为数据挖掘入门读物,介绍了数据挖掘的基础知识.基本工具和实践方法,通过循序渐进地讲解算法,带你轻松踏上数据挖掘之旅.本书采用理论与实践相结 ...
- Python数据挖掘入门与实践 彩图 pdf
下载地址:网盘下载 内容简介 · · · · · · 本书作为数据挖掘入门读物,介绍了数据挖掘的基础知识.基本工具和实践方法,通过循序渐进地讲解算法,带你轻松踏上数据挖掘之旅.本书采用理论与实践相结 ...
最新文章
- 智能车声标定位相关算法优化
- 如何动态改变框架的大小[转]
- ActionScript 3.0 Step By Step系列(六):学对象事件模型,从点击按扭开始
- VS2015和QTcreator冲突解决办法
- 学习笔记_jquery(js)遍历页面标签
- 在HTML中插入JavaScript代码的方式
- ORA-04063: view DAILY.TMP_TBX_100_0_S4 有错误
- html搞笑注释,9个最有趣的代码注释
- 第七届蓝桥杯大赛个人赛省赛(软件类)真题4
- 替代密码的c语言程序,替代密码及置换密码的C语言实现.doc
- 实现平衡二叉排序树的各种算法(包括二叉树的递归遍历、非递归遍历)
- 常用的物理引擎,图形引擎
- vue3.0 案例小demo
- android 音效均衡器,App+1 | 不懂均衡器调校也能量身定制,无需折腾的 Android 音效提升工具...
- 计算机数据表示实验(HUST) 第2关:汉字机内码获取实验
- 苹果电脑mysql_MacBook 安装 MySQL 5.7.29(新手都看得懂的安装教程)
- CSS界面样式(悬浮在元素上时将鼠标改为小手)
- Access denied for user ''@'localhost' to database 'mysql‘’
- 苹果手机怎么设置新的id
- android7.0后台,安卓7.0带来一键清理后台 真能使手机变快吗
热门文章
- ios harmonyos,MIUI 13,IOS 15,鸿蒙OS系统 六月份齐上线,一文了解都有哪些升级与亮点...
- EasyExcel 使用
- php 时间戳 周几,php时间戳怎么转换星期
- 网页端封装生成app移动端,是开发者的热门趋势
- 小米显示器屏幕测试软件,小米9屏幕测试:没上2K屏,素质过关
- 【更新中】苹果自家的as汇编器的特色风格(与微软masm汇编器语言风格的不同)
- 为chrome书签栏中,没有默认图标的网站添加图标
- Python爬虫实战案例:爬取新闻资讯
- AndroidStudio开发软件
- 写了个静态的网页-模仿网易云