学习python数据分析的第一步是先获取数据,为什么数据采集是数据分析的第一步,很明显:数据分析,必须有数据才能分析。
作为个人,您如何获得用于分析的数据集?
获取数据集的第一种方法是获取业内有人编译的数据集。 目前,大数据行业持续火爆,数据本身已经成为一个行业,其中自然包括数据集。 这些由某人组合在一起的数据集统称为现成数据集。
现成的数据集可能有两种类型:竞争数据集和行业数据集。
高水平数据分析大赛无疑是大数据行业普及的有力证明。 如今,数据分析竞赛不再是简单的数据分析师和数据科学家之间的竞争,而是演变为企业抛出企业遇到的数据问题,奖励各行各业的英雄来解决的平台,充满了现实世界的挑战。
主流数据分析大赛的赛题往往是主办企业面临的实际问题,数据集往往来源于主办企业的真实数据,经过一定程度的脱敏后,面向所有参赛数据分析师开放。 在比赛中取得最佳成绩的团队将获得丰厚的奖金,另一方面,他们贡献的解决方案可以帮助公司找到后续业务发展的方向,最后,公司在大赛期间贡献的数据集为数据分析爱好者和初学者提供了极好的学习资料, 可谓是一石三鸟。
作为数据初学者,我们自然可以去数据分析比赛,找到一些现成的数据集进行练习。 目前,数据分析竞争正在蓬勃发展,呈现出越来越多的趋势。 目前,数据分析大赛中备受认可的赛事之一是国际卡格尔赛,另一场是国内的天池赛。
Kaggle可以说是所有数据分析大赛的鼻祖,是目前全球规模最大的数据分析大赛,但存在两个问题:一是全英文**,二是国内接入速度慢。 总的来说,它对初学者不是很友好。 天池是目前国内最具影响力的赛事,整体平台的配置和数据集的丰富性都有保障,还有一系列的新手大赛帮大家入门。 这里以天池平台为例,演示如何获取大赛数据集。
1)访问天池官网,使用**账号注册登录。
2)选择“天池竞赛-学习竞赛”,进入学习题目列表。
3)向下滚动列表,选择名为:初学者数据挖掘 - 二手车交易***的二手车交易大赛
4)进入比赛详情页后,点击报名参加比赛。
5)点击左侧的问题和数据进入数据集页面,本页顶部是数据集的**链接,以下是数据集的描述。
因为分析比赛的数据集会分为训练集和测试集,我们现阶段不需要关心这个,只要看训练集(train.)就知道了。csv)。
除了比赛中使用的数据集外,个人还可以从一些行业公开数据中获取数据进行分析。 以下是三个比较常用的,您可以简单地参考它们。
1)清博智能:
清博智能是一家专注于新兴行业的大数据服务,提供大量优质新渠道榜单,如微信、今日头条、抖音等。 您只需要登录即可查看,它支持Excel格式的**。
2)方天下房价指数:
顾名思义,这里提供的数据集与房价有关,但数据均值是以**的形式提供的,而不是以excel的形式提供的。
3) 移动天文台:
移动天文台提供热门手机应用程式的排名数据,一直是数据分析的热门话题。 许多公司希望分析列表以捕捉用户的最新兴趣并调整其业务方向。 但遗憾的是,它和方天下一样,移动天文台只提供网页访问,不提供Excel或CSV文件。
无论是竞争数据集还是行业内的公共数据集,都存在明显的不足。
竞争数据集:数据集脱敏,往往只能发现一些数据背后的隐藏关系,适合测试一些数据挖掘算法,对初级数据分析帮助不大。 行业公共数据集:绝大多数行业公共数据集只能提供网页浏览或者pdf,基本没有excel可以使用,只能观看,很难在此基础上自己做分析,免费用户能看到的相对有限。 简单来说,虽然个人可以获取数据分析大赛的数据和一些行业数据**,但两种渠道都存在一些问题,不能完全满足我们对数据分析的需求。 我们还能如何获取数据进行分析?首先,让我们考虑一下我们在哪里拥有最多的数据答案是:互联网本身。
互联网上包含数以千计的帖子,每个都包含无数的帖子、评论、电影评论等等。 总而言之,互联网拥有取之不尽用之不竭的数据供应。 如果我们能从互联网上获取数据并根据需要进行分析,那就太好了。
一方面,来自互联网的分析数据是由真实用户生成的,分析的结论自然具有高度的可信度。 另一方面,来自互联网的大部分数据都具有一定的规模,非常适合尝试各种数据分析技术,是学习数据分析的最佳选择。
现在的问题是,互联网的数据基本上都是以不同网页的形式呈现的。 如果对这种类型的数据进行分析,该怎么办?我们知道,主流的数据分析往往是基于**的,比如excel或者csv文件。 有没有办法把互联网上的网页变成可以分析的网页?答案是肯定的。
通过Python 爬虫这项惊人的技术可以做到这一点。 接下来,我们先来了解一下爬虫的基础知识。 如何实现爬虫将在后续文章中一一解释。
爬虫是一类程序的名称,有些人称它们为网络爬虫。 爬虫的简单理解就是按照一定的规则提取网页中的信息,而Python是市面上最适合开发爬虫程序的语言。
让我们用一个例子来说明爬虫到底可以做什么。
以一部电视剧**为例,我们看到的网页是这样的。
但我们希望能够梳理出一部电视剧的**,比如以下几点:
一种方法是查看网页,将电视剧和主演一一复制到excel中。 但这样就比较麻烦了,而且电视剧有几十页,不可能全部复制。
另一种方式是python爬虫,我们使用爬虫从网页中提取我们想要的内容(电视节目名称、演员名称)并将其存储在python列表中。 因为整个过程都是用**实现的,所以无论最后有多少页,我们都可以很容易地通过循环获取电视剧的所有信息,最后将保存结果列表保存为Excel或CSV格式。 效率比人肉复制高100倍。
现在问题来了。 像叛逆爬行动物这样不敬虔的工具背后的原理和过程是什么?
从本质上讲,爬虫的原理类似于我们用来上网的浏览器,例如 Chrome 和 Edge。 我们先来谈谈浏览器是如何工作的,以Chrome为例
浏览器的过程大致分为四个步骤:
用户输入**,告诉浏览器他们想看哪个网页;
浏览器进入对应的服务器,根据**请求网页内容
* 对应的服务器将网页内容返回给浏览器
浏览器绘制接收到的网页内容,并在窗口中将其显示给用户。
现在我们了解了浏览器的作用,让我们看一下爬虫的工作流程:
爬虫的工作主要包括以下步骤:
用户指定要抓取的网页
请求对应 **;
服务器返回网页的内容
根据用户指定的规则提取感兴趣的内容(例如,在前面的示例中,我们只对电视节目名称和演员名称感兴趣)。
从上面的例子中可以看出,我们想要实现一个爬虫,主要是实现三个模块。
数据请求:您可以像浏览器一样,按照 **go 进入相应的网页内容。
网页分析:根据规则,从网页上大量的单词和**中过滤掉感兴趣的内容。
数据保存:捕获的感兴趣内容将保存到 CSV 和 Excel 文件中,以供后续分析。
爬虫的功能非常强大,正如吴侠所写的那样,越强大**一定要注意正确使用,滥用往往会导致很多不好的事情发生。
爬虫也是如此,一方面,我们可以直接抓取互联网上的网页信息,通过爬虫来构建我们的数据集。 但另一方面,数据的所有权毕竟是它自己。 虽然爬虫的本质和浏览器是一样的,但爬虫可以在短时间内爬取大量的网页和数据,所以我们在开发和使用爬虫技术时一定要注意以下两点:
适当减少抓取网页的频率,以免给相关**服务器带来负担;
捕获的数据仅供您自己分析,不得传播或出售,否则可能存在违法风险。