Python数据分析学习路线个人总结,建议收藏!

数据分析人人都有必要掌握一点,哪怕只是思维也行。下面探讨Python数据分析需要学习的知识范畴,结合自己的经历和理解,总结的学习大纲,有些章节带有解释,有些没有。当然,关于学习范畴,可能每个人的理解都不太一样,以下仅供参考。

1 数据分析思维

数据分析属于分析思维的一个子类,有专门的数据方法论。只有先养成正确的分析思维,才能使用好数据。

大多数人的思维方式都依赖于生活和经验做出直觉性的判断,最直观的体现是,在数据和业务分析中有时无从下手。

什么是好的分析思维?

用两张在网络上流传甚广的图片说明

思维模式(图片来源网络)

对应以下两种思维:

我们12月的销售额度下降,我想是因为年终的影响,我问了几个销售员,他们都说年终生意不太好做,各家都收紧了财务预算,谈下的几家费用也比以前有缩水。我对他们进行了电话拜访,厂家都说经济不景气,希望我们价格方面再放宽点。
我们12月的销售额度下降,低于去年同期和今年平均值,可以排除掉大环境的因素。其中A地区下降幅度最大,间接影响了整体销售额。通过调查发现,A地区的市场因为竞争对手涌入,进行了低价销售策略。除此之外,B地区的经济发展低于预期发展,企业缩减投入。

第一个分析思维是依赖经验和直觉的线性思维,第二个分析思维则注重逻辑推导,属于结构化的思维。两种思维往往会导致不同的结果。

1.1 金子塔原理

麦肯锡思维中很重要的一条原理叫做金字塔原理,它的核心是层次化思考、逻辑化思考、结构化思考。

1.1.1 什么是金字塔?

任何一件事情都有一个中心论点,中心论点可以划分成3~7个分论点,分论点又可以由3~7个论据支撑。层层拓展,这个结构由上至下呈金字塔状。

1.1.2 结构化思维

金字塔(图片来源网络)

1.1.3 核心法则:MECE

金字塔原理有一个核心法则MECE,全称 Mutually Exclusive Collectively Exhaustive,论点相互独立,尽可能多的列举。

1.1.4 假设先行

首先得有一个思考作为开始。这是什么意思?因为金字塔是从上而下,需要有一个中心论点,也就是塔尖。我们可以先提出一个问题,比如此产品的核心功能是某某功能吗?

1.2 二八法则

1.2.1 20%的分析过程决定80%的分析结果

1.2.2 抓住关键因素

以上节选的两个分析思维,都能在麦肯锡问题分析与解决技巧中找到原型,感兴趣的可查看下面这本书。

2 数据获取

2.1 大数据平台提取

各个公司都可能有自己专属的大数据平台,进入公司要首先掌握如何从这上面拿去我们需要的业务数据

2.2 第三方服务接口

合作企业或公司购买的服务接口,我们可以直接调用拿到数据。

2.3 开源公开数据集

推荐一些数据集

2.4 爬虫爬取网站数据

python的常用包:

requests库就是用来进行网络请求的,说白了就是模拟浏览器来获取资源。

由于我们采集的是api接口,它的格式为json,所以要用到json库来解析。

BeautifulSoup是用来解析html文档的,可以很方便的帮我们获取指定div的内容。

3 数据存储

3.1 SQL分组,聚合,多表join操作

groupby, aggregate,join操作

join操作可参考 Python与算法社区 公众号

3.2 大数据平台Hadoop

大数据架构,分布式存储,详细自行查阅

3.3 Mysql

这个大家应该都不陌生

3.4 hive 拉链表

拉链表的知识大家需要好好理解体会,dp 的状态 active 和 history

4 数据清理知识

4.1 理解数据背后的业务,千万不要忽视!

我们在拿到需要分析的数据后,千万不要急于立刻开始做回归、分类、聚类分析。

第一步应该是认真理解业务数据,可以试着理解去每个特征,观察每个特征,理解它们对结果的影响程度。

然后,慢慢研究多个特征组合后,它们对结果的影响。

4.2 明确各个特征的类型

如果这些数据类型不是算法部分期望的数据类型,你还得想办法编码成想要的。比如常见的数据自增列 id 这类数据,是否有必要放到你的算法模型中,因为这类数字很可能被当作数字读入。

某些列的取值类型,虽然已经是数字了,它们的取值大小表示什么含义你也要仔细捉摸。因为,数字的相近相邻,并不一定代表另一种层面的相邻。

4.3 找出异常数据

统计中国家庭人均收入时,如果源数据里面,有王建林,马云等这种富豪,那么,人均收入的均值就会受到极大的影响,这个时候最好,绘制箱形图,看一看百分位数。

4.4 处理缺失值

现实生产环境中,拿到的数据恰好完整无损、没有任何缺失数据的概率,和买彩票中将的概率差不多。

数据缺失的原因太多了,业务系统版本迭代, 之前的某些字段不再使用了,自然它们的取值就变为 null 了;再或者,压根某些数据字段在抽样周期里,就是没有写入数据……

4.5 头疼的数据不均衡问题

理论和实际总是有差距的,理论上很多算法都存在一个基本假设,即数据分布总是均匀的。这个美好的假设,在实际中,真的存在吗?很可能不是!

算法基于不均衡的数据学习出来的模型,在实际的预测集上,效果往往差于训练集上的效果,这是因为实际数据往往分布得很不均匀,这时候就要考虑怎么解决这些问题。下面是一本数据清洗不错的书籍:

5 Python核心知识

5.1 理解Python的解释性

Python 是解释型语言,对于 Python 刚刚入门的小伙伴,可能对解释性有些疑惑。不过,没关系,我们可以通过大家已经熟悉的编译型语言,来帮助我们理解 Python 的解释性。

编译型语言,如 C++、Java,它们会在编译阶段做类型匹配检查等,因此,数据类型不匹配导致的编译错误,在编译阶段就会被检查出来,例如:

  1. Intger a = 0;
  2. Double b = 0.0;
  3. a = b; // Double类型的变量 b 试图赋值给 Integer 型的变量 a, 编译报错
  4. // 因为 Integer 类型 和 Double 类型 不存在继承关系,
  5. // 类型不能互转

但是,Python 就不会在编译阶段做类型匹配检查,比如,Python 实现上面的几行语句,会这样写:

  1. a = 0 # 不做任何类型声明
  2. b = 0.
  3. a = b # 这种赋值,Python 会有问题吗?

答案是不会的。此处就体现了 Python 的解释特性,当我们把 0 赋值给 a 时,Python 解释器会把它 a 解释为 int 型,可以使用内置函数 type(variable) 显示地检查 variable 的类型:

  1. In [70]: type(a)
  2. Out[70]: int
  3. In [69]: type(b)
  4. Out[69]: float
  5. In [71]: a = b # 在把 float 型 b 赋值给 a 后, # a 就被解释为float
  6. In [72]: type(a)
  7. Out[72]: float

在把 float 型 b 赋值给 a 后, a 就被解释为 float.

5.2 list,dict,tuple,set

深拷贝和浅拷贝的区别

5.3 Python列表生成式

如何灵活使用

5.4 Python函数式编程

闭包问题

5.5 位置参数和关键字参数

如果介绍 Python 入门,不介绍函数的位置参数 ( positional argument ) 和关键字参数( keyword argument ) ,总是感觉缺少点什么,它们在 Python 函数中到处可见,理解和使用它们,为我们日后深入 Python 打下坚实的根基。

6 Excel数据分析

6.1 Excel处理10万条以内数据

6.2 以SUM函数为首的求和家族

6.3 以VLOOKUP函数为首的查找家族

6.4 以IF函数为首的逻辑函数家族

大家自行查阅学习

7 Pandas数据预处理

7.1 基于Python的向量化增强

7.2 必须掌握的传播机制

广播发生的条件

7.3 一维Series和二维DataFrame

7.4 Pandas中的20个统计学函数

20个统计学函数

7.5 Pandas三个函数搞定缺失值

7.6 1个函数搞定数据透视

8 数据建模分析

8.1 统计学基础知识

首先,入门数据分析需要必备一些统计学的基本知识,在这里我们简单列举几个入门级的重要概念。概率,平均值,中位数,众数,四分位数,期望,标准差,方差。在这些基本概念上,又衍生出的很多重要概念,比如协方差,相关系数等。

这一些列常用的统计指标,都在强大的数据分析包 Pandas 中实现了,非常方便。

8.2 统计量描述

说统计学是一种基于事实的演绎学问,它是严谨的,可以给出确切解释的。

不过,机器学习就不一样了,它是一门归纳思想的学问,比如深度学习得出的模型,你就很难解释其中的具体参数为什么取值为某某某。它的应用在于可以提供一种预测,给我们未来提供一种建设性的指导。

数据分析师需要了解机器学习的基本理论、常见的那十几种算法,这样对于我们做回归、分类、聚类分析,都是不可缺少的。

8.3 机器学习回归分析

三 个假定是?
如何建立线性回归模型
最大似然估计求参数?
梯度下降求解优化问题?
手写不调包实现的 5 个算子
手写不调包实现的整体算法框架

8.4 基本的分类、聚类算法

高斯混合模型:聚类原理分析

高斯混合模型:聚类求解

高斯混合模型:求解完整代码

高斯混合模型:不调包多维数据聚类分析

K-Means算法

8.5 特征工程提高分析精度

一般来说,特征工程大体上可以分为三个方面,一是特征构造,二是特征选择,三是特征生成。

9 数据可视化

9.1 必备的绘图原理知识

拿使用较多的 matplotlib 为列,整个图像为一个Figure 对象,在 Figure 对象中可以包含一个或多个 Axes对象,每个Axes对象都是一个拥有自己坐标系统的绘图区域。

Axesxaxis, yaxis, title, data 构成,xaxis 由坐标轴的线 ,tick以及label构成。

9.2 matplotlib绘图

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

 三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、Python练习题

检查学习结果。

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员二飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值