为什么数据分析师都要求写代码?

电子说

1.2w人已加入

描述

Python官方在今年2月做了一份报告,从官方的角度说明了Python的使用状况和受欢迎程度:

该调查由 Python 软件基金会与 JetBrains 一起发起,有来自 150 多个国家的超过两万名开发人员参与。

从官方喜出望外的报告中,我们可以看到Python受到大部分人的欢迎,依旧是用户手中的香饽饽:

机器学习

在Python的用途上,大家使用Python最常用的场景是数据分析,从涨幅来看也是最高的。相关的机器学习场景涨幅也有7%。

机器学习

这不禁引出一个问题:Python作为编程语言在数据分析领域的地位似乎举足轻重,但明明有更亲民的Excel、Tableau、PowerBI等软件,为什么数据分析师最终都会代码化?

作为一名使用Python的数据分析师,我想举几个小例子说明:

原因 1

鼠标操作流程手速太慢

即使是打游戏,手速也很大程度上来源于快捷键的使用。

数据分析也一样,代码能简化大量鼠标操作流程,用语言将过程“脚本化”,会帮助分析师减去不必要的操作时间,留出更多时间放在“分析过程”上。

举个例子,Excel做分析的过程可能是:定位空值-删除空值-修改数据格式-去除异常值-公式计算-数据透视表-整理数据-插入图表-调整结果……

繁琐的每一步都是来自鼠标点击,中间错误了哪一步,很多步骤都需要重新调整,浪费大量时间。

机器学习

图中演示的是使用Excel进行简单的描述统计分析过程,比较繁琐。

Python靠的是代码编写每一步过程,统一语言带来记录方法的统一。当分析过程需要修改,只需要调整设定好的参数,效率当然嗖嗖的。

机器学习

机器学习

使用Python代码可以迅速调用数据,计算需求,并记录每一步过程,方便修改。

原因 2

Python拥有强大的库

分析软件每开发出一个新功能需要大量投入。而Python作为编程语言,开发新工具相对容易,一个人开发一个库的例子比比皆是。并且Python的使用热度带来了大量的大神,Python工具库可谓应有尽有,这也是Python有前文报告中众多用途的原因。

机器学习

回到数据分析,以Python可视化必知基本库matplotlib为例,光是他的官方gallery就有26个大类527个样式,数量上就碾压了市面上大部分同功能软件。

机器学习

matplotlib官网:https://matplotlib.org/tutorials/index.html

此外Python可视化类工具会有针对图表样式进行调整的代码,也可以交互,几行代码,省时省力,分分钟关机下班。

机器学习

原因 3

代码辅助数学算法

小时候不爱数学,因为讨厌记繁琐的公式和进行步骤推算,一步算错,步步算错,而且我还无法理解为什么老师要求这么算。

但代码的出现拯救了我对数学的偏见。它能从特例的角度复现数学推理过程。通过计算机成千上万次的计算,让我更快理解算法的含义。

机器学习

截图来自3blue1brown的微积分教学视频《微积分的本质》

以一道高中数学求导题为例:

求y=x²在x=2时的导数。

这道题不难,使用求导公式可知导数是4。但很多函数是不方便推导求导公式的,是否可以从导数的定义出发,寻找特例说明问题?

有的。

这道题要求的其实是连续可导函数f的曲线上,x=2时切线的斜率,那么我们可以定义一个移动的点m,使得m不断的接近x,当(m-x)足够小时,(f(m)-f(x))/(m-x)会越来越接近该点的所在曲线的切线斜率,也就是我们要求的导数。

机器学习

机器学习

图中所示程序迭代了1000次,点m以一定的0.01个单位的速度不断趋近x,结果导数(斜率)在不断趋近于4。

通过这个案例,我想说明的是代码的存在让模拟和迭代变得可能,定义一个规则,找到一个特例,让程序模拟千万遍,答案会呼之欲出。

这是一种使用程序构建算法的思想。

另一个有趣的案例是基于Python的梯度下降算法,使用Python多次模拟寻找最小化的损失函数和模型参数值。

机器学习

案例文名为《Python推导线性回归模型》的文章,用到了梯度下降的方法推导出线性回归模型,适合python数据分析及机器学习初学者观看,完整链接见文末。

总结一下,数据分析师为什么会要求写代码?

原因在于代码在数据分析上更高效、丰富和自由。事实上代码不仅帮助分析,更能帮助逻辑思维。

如果你想自己感受下使用代码做数据分析带来的高效,建议你现在就可以开始学习Python。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分