当前位置: 首页 > news >正文

关于Python数据分析,这里有一条高效的学习路径


关于Python数据分析,这里有一条高效的学习路径


广泛被应用的数据分析

谷歌的数据分析可以预测一个地区即将爆发的流感,从而进行针对性的预防;淘宝可以根据你浏览和消费的数据进行分析,为你精准推荐商品;口碑极好的网易云音乐,通过其相似性算法,为不同的人量身定制每日歌单……


数据正在变得越来越常见,小到我们每个人的社交网络、消费信息、运动轨迹……,大到企业的销售、运营数据,产品的生产数据,交通网络数据……

如何从海量数据中获得别人看不见的知识,如何利用数据来武装营销工作、优化产品、用户调研、支撑决策,数据分析可以将数据的价值最大化。

数据分析人才热度也是高居不下,一方面企业的数据量在大规模的增长,对于数据分析的需求与日俱增;另一方面,相比起其他的技术职位,数据分析师的候选者要少得多。


关于Python数据分析,这里有一条高效的学习路径


数据源于麦肯锡


那么,小白如何快速获得数据分析的能力呢?知乎上有很多书单,你可能也听过很多学习方法,但尝试过就知道这些跟高效没什么关系。

数据分析师应该具备哪些技能

需要Python基础学习资料的,关注后私信发送资料获取

要明确学习的路径,最有效的方式就是看具体的职业、工作岗位对于技能的具体需求。

我们从拉勾上找了一些最具有代表性的数据分析师职位信息,来看看薪资不菲的数据分析师,到底需要哪些技能。

关于Python数据分析,这里有一条高效的学习路径


关于Python数据分析,这里有一条高效的学习路径


关于Python数据分析,这里有一条高效的学习路径


关于Python数据分析,这里有一条高效的学习路径


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

  • SQL数据库的基本操作,会基本的数据管理
  • 会用Excel/SQL做基本的数据分析和展示
  • 会用脚本语言进行数据分析,Python or R
  • 有获取外部数据的能力,如爬虫
  • 会基本的数据可视化技能,能撰写数据报告
  • 熟悉常用的数据挖掘算法:以回归分析为主


其次是数据分析的流程,一般可以按“数据获取-数据存储与提取-数据预处理-数据建模与分析-数据可视化”这样的步骤来实施一个数据分析项目。按照这个流程,每个部分需要掌握的细分知识点如下:


关于Python数据分析,这里有一条高效的学习路径



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

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

关于Python数据分析,这里有一条高效的学习路径


- ❶ -

数据获取:公开数据、Python爬虫


外部数据的获取方式主要有以下两种。

第一种是获取外部的公开数据集,一些科研机构、企业、政府会开放一些数据,你需要到特定的网站去下载这些数据。这些数据集通常比较完善、质量相对较高。给大家推荐一些常用的可以获取数据集的网站:

UCI:加州大学欧文分校开放的经典数据集,被很多数据挖掘实验室采用。

http://archive.ics.uci.edu/ml/datasets.html

国家数据:数据来源于中国国家统计局,包含了我国经济民生等多个方面的数据。

http://data.stats.gov.cn/

CEIC:超过128个国家的经济数据,能精确查找GDP、进出口零售,销售等深度数据。

http://www.ceicdata.com/zh-hans

中国统计信息网:国家统计局官方网站,汇集了国民经济和社会发展统计信息。

http://www.tjcn.org/

优易数据:由国家信息中心发起,国内领先的数据交易平台,很多免费数据。

http://www.youedata.com/

关于Python数据分析,这里有一条高效的学习路径


另一种获取外部数据的方式就是爬虫。

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

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

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

常用的的电商网站、问答网站、二手交易网站、婚恋网站、招聘网站等,都可以爬到非常有价值的数据。

- ❷ -

数据存取:SQL语言


在应对万以内的数据的时候,Excel对于一般的分析没有问题,一旦数据量大,就会力不从心,数据库就能够很好地解决这个问题。而且大多数的企业,都会以SQL的形式来存储数据,如果你是一个分析师,也至少要懂得SQL的操作,能够查询、提取公司的数据

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

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


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

- ❸ -

数据预处理:Python(pandas)


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

比如销售数据,有一些渠道的销售是没有及时录入的,有一些数据是记录重复的。比如用户行为数据,有很多无效的操作对分析没有意义,就需要进行删除。

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

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

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


网上有很多 pandas 的教程,主要是一些函数的应用,也都非常简单,可查 pandas 官方文档。

关于Python数据分析,这里有一条高效的学习路径


- ❹ -

概率论及统计学知识


数据整体分布是怎样的?什么是总体和样本?中位数、众数、均值、方差等基本的统计量如何应用?如何在不同的场景中做假设检验?数据分析方法大多源于统计学的概念,所以统计学的知识也是必不可少的。需要掌握的知识点如下:

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


有了统计学的基本知识,你就可以用这些统计量做基本的分析了。通过可视化的方式来描述数据的指标,其实可以得出很多结论了:比如排名前100的是哪些,平均水平是怎样的,近几年的变化趋势如何……

你可以使用 Seaborn、matplotlib 等(python包)做一些可视化的分析,通过各种可视化统计图,并得出具有指导意义的结果。

- ❺ -

Python 数据分析

需要Python基础学习资料的,关注后私信发送资料获取

如果你有一些了解的话,就知道目前市面上其实有很多 Python 数据分析的书籍,但每一本都很厚,学习阻力非常大。但其实真正最有用的那部分信息,只是这些书里很少的一部分。

比如掌握回归分析的方法,通过线性回归和逻辑回归,其实你就可以对大多数的数据进行回归分析,并得出相对精确地结论。这部分需要掌握的知识点如下:

  • 回归分析:线性回归、逻辑回归
  • 基本的分类算法:决策树、随机森林……
  • 基本的聚类算法:k-means……
  • 特征工程基础:如何用特征选择优化模型
  • 调参方法:如何调节参数优化模型
  • Python 数据分析包:scipy、numpy、scikit-learn等


在数据分析的这个阶段,重点了解回归分析的方法,大多数的问题可以得以解决,利用描述性的统计分析和回归分析,你完全可以得到一个不错的分析结论。

然后你会知道面对不同类型的问题的时候更适合用哪种算法模型,对于模型的优化,你需要去学习如何通过特征提取、参数调节来提升预测的精度。这就有点数据挖掘和机器学习的味道了,其实一个好的数据分析师,应该算是一个初级的数据挖掘工程师了。

你可以通过 Python 中的 scikit-learn 库来实现数据分析、数据挖掘建模和分析的全过程。

- ❻ -

系统实战与数据思维

关于Python数据分析,这里有一条高效的学习路径


到这个时候,你就已经具备了数据分析的基本能力了。但是还要根据不同的案例、不同的业务场景进行实战,练习解决实际问题的能力。

上面提到的公开数据集,可以找一些自己感兴趣的方向的数据,尝试从不同的角度来分析,看看能够得到哪些有价值的结论。

你也可以从生活、工作中去发现一些可用于分析的问题,比如上面说到的电商、招聘、社交等平台等数据中都有着很多可以挖掘的问题。

开始的时候,你可能考虑的问题不是很周全,但随着你经验的积累,慢慢就会找到分析的方向,有哪些一般分析的维度,比如Top榜单、平均水平、区域分布、同比环比、相关性分析、未来趋势预测等等。随着经验的增加,你会有一些自己对于数据的感觉,这就是我们通常说的数据思维了。

相关文章:

  • Android 自定义帧动画
  • python中是否有单独的字符类型,通过下标的方式表示字符串中的字符
  • MySQL开启远程登录权限
  • 需求变更管理
  • Class.forName和ClassLoader.loadClass的比较
  • Mybatis应用学习(3)——Mapper映射文件编写
  • Docker基础之十一: 镜像操作(Dockerfile)
  • ArrayBuffer简析
  • [macOS] Mojave10.14 夜神安卓模拟器启动问题
  • 老李分享:测试金字塔,懂开发的测试工程师更有竞争力
  • solidity智能合约[41]-structdeep
  • ElasticSearch 基础一
  • PPT图表分享一:组织结构图
  • 面向对象(Java中普通代码块,构造代码块,静态代码块区别及代码示例)
  • 内聚性是模块之所以成为模块的原因--一个中心、单一职责
  • hexo+github搭建个人博客
  • JavaScript-如何实现克隆(clone)函数
  • Fastjson的基本使用方法大全
  • golang 发送GET和POST示例
  • Java Agent 学习笔记
  • Java多态
  • Java精华积累:初学者都应该搞懂的问题
  • PhantomJS 安装
  • PHP CLI应用的调试原理
  • SQLServer插入数据
  • vagrant 添加本地 box 安装 laravel homestead
  • 如何选择开源的机器学习框架?
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 微信开放平台全网发布【失败】的几点排查方法
  • 阿里云移动端播放器高级功能介绍
  • 如何正确理解,内页权重高于首页?
  • # .NET Framework中使用命名管道进行进程间通信
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (C语言)二分查找 超详细
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (全注解开发)学习Spring-MVC的第三天
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)视频码率,帧率和分辨率的联系与区别
  • (转载)深入super,看Python如何解决钻石继承难题
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .Net Web窗口页属性
  • .NET大文件上传知识整理
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • /bin/rm: 参数列表过长"的解决办法
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [BUUCTF 2018]Online Tool
  • [BUUCTF 2018]Online Tool(特详解)
  • [C++] Boost智能指针——boost::scoped_ptr(使用及原理分析)
  • [C++] 多线程编程-thread::yield()-sleep_for()
  • [codeforces] 25E Test || hash