乐趣区

如何通过网络数据的获取做出这些数据分析项目

作者 | AlfredWu
来源 | Alfred 数据室

最近有很多人在问,我是如何收集网络的数据,如何进行数据处理、数据分析以及可视化呈现的

也有人问的更具体,关于 Python 数据分析的一些问题。到底应该怎么学?如何快速入门,以及技术和业务之间的瓶颈如何突破?

因为深度的数据分析往往可以看到事情的本质,而这又是一项在任何情况下都超级加分的技能。总结了一些经验,希望能够给还没入门、或者入门之后就遇到瓶颈的新手一些建议。主要是关于 如何系统地进行学习规划,以及可以避免的一些坑

有的同学看到数据分析几个字,就马上开始 Python 函数 + 控制语句、R 语言和 ggplot 库……上来一顿骚操作,还没入门就放弃了。

这就是需求不明确导致的,当然学习方式也值得商榷,那到底数据分析需要什么样的技能呢? 这里作为例子,从招聘网站上找了几个数据分析的岗位,我们来看看 具体的要求是怎样的



其实企业对数据分析师的基础技能需求差别不大,可总结如下:

  • 分析工具:一般要求 SPSS/SAS/R/Python 等分析工具至少会一种,会两种以上加分,有的企业因内部需求,会指定的一种;
  • 数据库:绝大会要求会 SQL,部分要求 SQL/NoSQL 会一种,高级的分析师或者大型企业要求能够处理大数据,需要 Hive(较少的需要 Hadoop/Spark);
  • 统计学:若无相关专业背景,需要具备相应的统计学、概率论等基础知识;
  • 数据挖掘:少部分要求会建模,了解基本的算法模型,能够做数据预测,即便不要求,算法也是加分项;
  • 结果输出:Excel/PPT/Tableau。Excel 和 PPT 要求的比较多,主要用作常规的数据呈现,与业务部门沟通等,Tableau 一般作为可视化或者分析工具的加分项或者要求之一;
  • 业务 / 思维:对某个领域(如电商、金融等)相关业务的了解或具有产品、运营方向的分析经验,有自己的数据分析的方法论和项目经验,具备 Data Sence。

看上去很简单呀,对吧,但其实你把每个技能拆分开来,都是一个不小的知识体系。如果我们按照 数据分析的流程 来细分的话,每个部分应该掌握的技能,大概是这样的:

那对于这个技能体系,应该 如何进行技能的训练呢?先后顺序是什么?哪些地方可能出现困难和瓶颈?

按数据分析的流程的顺序循序渐进,你会知道每个部分需要完成的目标是什么,需要学习哪些知识点,哪些知识是暂时不必要的。

接下来我们分别从每一个部分讲讲具体应该学什么、怎么学。

– ❶ –

数据获取:爬虫与公开数据

数据是产生价值的原材料,这也是数据分析项目的第一步。

通常我是通过爬虫获取相关数据的,一来数据有很高的 时效性 ,二来数据的 来源可以得到保证,毕竟网上的信息是异常丰富的。

这些分布在网上零散的信息,通过爬取整合之后,就有比较高的分析价值。

比如你可以通过爬虫获取招聘网站某一职位的招聘信息,爬取租房网站上某城市的租房信息,获取知乎点赞排行、网易云音乐评论排行列表。基于互联网爬取的数据,你可以对某个行业、某个事件、某类人群进行分析。

在爬虫之前需要先了解一些 Python 的基础知识:数据类型(列表、字典、元组等)、变量、循环、函数………

以及,如何用 Python 库(urllib、BeautifulSoup、requests 等)实现网页爬虫。如果是初学,建议从 requests+xpath 开始。

当然,并不是说公开数据就没用了,在进行分析的时候,需要一些 历史数据进行对比,需要一定的行业标准进行参考的时候,公开数据的价值就体现出来了。

一些科研机构、企业、政府会开放一些数据,还有一些行业研究报告、他人的调查结果,都可以成为你的数据来源。这些数据集通常比较完善、质量相对较高。

– ❷ –

数据存取:SQL 语言

我并不是每次都会用到数据库,但很多时候这确实是做数据分析项目的必备技能,包括求职就业,也是必选项。

通常数据库的使用能够 让数据存储、管理更方便,同时也能提高数据提取和使用的效率,特别是在数据上了一定的量级之后,谁用谁知道。

大多数的企业,都会以 SQL 的形式来存储数据,如果你是一个分析师,也至少要懂得 SQL 的操作,能够查询、提取公司的数据。

SQL 作为最经典的数据库工具,为海量数据的存储与管理提供可能,并且使数据的提取的效率大大提升。需要掌握以下技能:

  • 提取特定情况下的数据:企业数据库里的数据一定是大而繁复的,你需要提取你需要的那一部分。比如你可以根据你的需要提取 2017 年所有的销售数据、提取今年销量最大的 50 件商品的数据、提取上海、广东地区用户的消费数据……,SQL 可以通过简单的命令帮你完成这些工作。
  • 数据库的增、删、查、改:这些是数据库最基本的操作,但只要用简单的命令就能够实现,所以你只需要记住命令就好。
  • 数据的分组聚合、如何建立多个表之间的联系:这个部分是 SQL 的进阶操作,多个表之间的关联,在你处理多维度、多个数据集的时候非常有用,这也让你可以去处理更复杂的数据。

SQL 这部分比较简单,主要是掌握一些基本的语句。当然,还是建议找几个数据集来实际操作一下,哪怕是最基础的查询、提取等。

– ❸ –

数据处理:Pandas/Numpy

爬回来的数据通常是不干净的,数据的重复、缺失、异常值 等等,这时候就需要进行数据的清洗,把这些影响分析的数据处理好,才能获得更加精确地分析结果。

那么我们需要用相应的方法去处理,比如重复数据,是保留还是删除;比如残缺数据,我们是直接去掉这条数据,还是用临近的值去补全,这些都是需要考虑的问题。

对于数据预处理,学会 pandas/Numpy(Python 包)的用法,应对一般的数据清洗就完全没问题了。需要掌握的知识点如下:

  • 选择:数据访问(标签、特定值、布尔索引等)
  • 缺失值处理:对缺失数据行进行删除或填充
  • 重复值处理:重复值的判断与删除
  • 异常值处理:清除不必要的空格和极端、异常数据
  • 相关操作:描述性统计、Apply、直方图等
  • 合并:符合各种逻辑关系的合并操作
  • 分组:数据划分、分别执行函数、数据重组
  • Reshaping:快速生成数据透视表

数据清洗通常被视为脏活,但事实上这步非常重要,这直接决定了你的分析结论的准确性,决定你的项目是否能顺利进行下去。

– ❹ –

数据分析与可视化

这个是从数据中发现信息、挖掘价值的过程,大多数的结论在这个步骤产生,主要做两件事情。

一是对于既定的数据分析主题进行拆解,评估需要从哪些维度进行分析,提取哪些数据,这个步骤很大程度上来源于经验或者对于具体事务的理解;

二是通过探索数据分布的规律、数据的特征,发现从表面看不到的信息,完成这个流程主要是通过数据本身进行探索。

前者对应的是描述性的数据分析,主要考虑数据的指标,看从不同的角度去描述数据能够得出哪些结论。

这个地方就需要对统计学的相关知识有一定的了解,比如:

  • 基本统计量:均值、中位数、众数、百分位数、极值等
  • 其他描述性统计量:偏度、方差、标准差、显著性等
  • 其他统计知识:总体和样本、参数和统计量、ErrorBar
  • 概率分布与假设检验:各种分布、假设检验流程

后者则是探索型的数据分析,主要通过绘制数据的分布图形,来观察数据的分布规律,从而提取隐藏的某些信息。

这里就需要对掌握可视化的技能,Python 中的 Matplotlib/Seaborn 都可以完成可视化的工作。可视化既是探索性分析的工具,也可以输出最终结果呈现的图形。

当然,还有一种是预测型的数据分析,需要构建模型来预测未来数据,我在推文中用的比较少,但在企业中应用非常多。

做数据分析的话,会用比如线性回归、逻辑回归、决策树等这些基本的算法,用于解决基本的回归和分类问题,就 OK 了。

获取更多专业课程或优质内容,可前往我们的网站进行查阅:

https://www.cda.cn/?seo-segme…

也可以搜索进入我们的小程序,解锁更多精彩内容和专业资讯:

退出移动版