会 Python 和不会 Python 的区别

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。

本文分享自微信公众号 - 进击的Coder(FightingCoder)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏TheOneGIS空间站

栅格数据裁剪

在进行遥感影像处理的时候,我们经常需要进行裁剪的工作,来看看如何使用GDAL工具进行这项操作吧!

16920
来自专栏未闻Code

【一日一技】破译反斜杠数量问题的密码

“大家在开发Python的过程中,一定会遇到很多反斜杠的问题,很多人被反斜杠的数量搞得头大。这期我们就来介绍一下如何处理这些让人头疼的反斜杠。”

15140
来自专栏未闻Code

【一日一技】揭秘字符串的两副“面孔”

现在,当你在命令行交互环境直接输入变量名再回车的时候,你看到的是'test',当你输入print(a)的时候,你看到的却是test。

8930
来自专栏机器学习与统计学

[Python人工智能] 五.theano实现神经网络正规化Regularization处理

在用神经网络分析数据时,通常会遇到Overfitting问题。如下图所示,分布了很多黑色的数据点,如果机器学习能学到一条黑色直线去代替我们分布的数据散点,并预测...

8440
来自专栏Python爬虫与数据挖掘

5700亿,16227注!15年来,双色球一等奖中奖占比率几乎不变(附完整Python代码)

去年,我曾写过一篇文章我用Python爬取了14年所有的福彩3D信息,彩民们,只能帮你们到这了,得到很多人的反响,很多粉丝留言,快点出一版分析教程,找找其中的规...

19420
来自专栏未闻Code

【Redis实战】快速简单搭建聊天室01——效果预览

本项目会以网页形式呈现,大家只需要完成整个系统中,关于Redis操作的这一部分代码的开发即可。

20620
来自专栏机器学习与统计学

[Python人工智能] 六.神经网络的评价指标、特征标准化和特征选择

从本系列文章开始,作者正式开始研究Python深度学习、神经网络及人工智能相关知识。前五篇文章讲解了神经网络基础概念、Theano库的安装过程及基础用法、the...

24330
来自专栏华章科技

入门中文NLP必备干货:5分钟看懂“结巴”分词(Jieba)

导读:近年来,随着NLP技术的日益成熟,开源实现的分词工具越来越多,如Ansj、盘古分词等。在本文中,我们选取了Jieba进行介绍和案例展示,主要基于以下考虑:

24520
来自专栏机器学习与统计学

[机器学习篇]机器学习知识总结篇

4、Python基础1 - Python及其数学库 解释器Python2.7与IDE:Anaconda/Pycharm Python基础:列表/元组/字典/...

13810
来自专栏未闻Code

【Redis实战】快速简单搭建聊天室02——准备工作

大家只需要修改your_code_here文件夹下面的RedisUtil.py就能完成本项目。

10720

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励