会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。

本文分享自微信公众号 - Python绿色通道(Python_channel)

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏cs

python的几个function

14120
来自专栏钱塘小甲子的博客

pyfolio教程3——create_interesting_times_tear_sheet

      我们有时候对一些时间段特别的关注,比如911、互联网泡沫、外星人入侵什么的。在pyfolio中,有一个interesting times tear ...

17710
来自专栏4444

安装python

下载Python:登录https://www.python.org/downloads/然后点击 —>如【图1】所示,适合你电脑系统的Python3.7的版本下...

31410
来自专栏MasiMaro 的技术博文

关于Python的那点吐槽

之前听到过别人有说过Python只是一个玩具做不了大项目,我当时是嗤之以鼻的,不说豆瓣这样的公司采用Python做的网站,GitHub上那么多大项目都是用Pyt...

11630
来自专栏iOSDevLog

Ubuntu安装Weblate

This is the recommended method if you don’t want to concern yourself with furthe...

19950
来自专栏4444

安装python 001

下载Python:登录https://www.python.org/downloads/然后点击 —>如【图1】所示,适合你电脑系统的Python3.7的版本下...

9800
来自专栏京程一灯

顶级内衣模特业余时间干什么?编程!

注:又到了女王节了,祝各位女王节日快乐咯 (*^__^*) 今天特别推荐女程序员相关的文章。

14020
来自专栏雪胖纸的玩蛇日常

超越村后端开发(6:上线部署到服务器)

因为是root用户,所以默认打开的是root目录,千万不要把目录放到root目录下,不然后面配置Nginx之后,将会出现普通用户没有访问root目录的权限,造成...

13810
来自专栏Python无止境

别开心太早,Python 官方文档的翻译差远了

近几天,很多公众号发布了 Python 官方文档的消息。然而,一个特别奇怪的现象就发生了,让人啼笑皆非。

6000
来自专栏雪胖纸的玩蛇日常

超越村后端开发(6:上线部署到服务器(上))

默认的python环境是python2.7,安装了python3的版本是python3.6

13130

扫码关注云+社区

领取腾讯云代金券

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