Py学习  »  Python

为什么数据科学家偏爱Python

程序猿 • 6 年前 • 509 次点击  

作者:纪路

已获得作者授权发布


学生时代我就使用Python,我曾经问过我的一个要好的同学“你听说过Python么”(你知道那个时候我问这句话的心情可能跟很多热心传教的人问“你听说过上帝么?”是一样的),得到的回答当然是否定的。我还解释说Python是一门编程语言在世界流行编程语言的前十名中排第九,我那个学Java的同学当然并不关心这个榜单,因为他的志向是去阿里工作,而阿里主要使用Java。

 

这就是很多人对Python最初的印象——一个名不转经传的小众编程语言。现如今只要提到大数据,数据科学就不得不提到Python,甚至名噪一时的R语言也甘拜下风,截至本文写作时根据TIOBE榜单的显示(https://www.tiobe.com/tiobe-index/),Python市场占有率为4.333%仅次于Java以及C和C++位列这个榜单的第四(“世界上最好的编程语言”——PHP位列第八,而R语言仅排十四名)。


2017年6月编程语言排行榜 Top 20 榜单: 



那么是什么原因让这么多人选择了Python,如果说后来者仅仅是因为跟风,那么早起使用者又是什么原因选择Python呢?这就要从Python最擅长的领域,也是当下大热的话题——“大数据”说起。

 

大数据技术说来并不神秘,本质上是一种统计学的工程应用,其中很多的算法可能早在计算机发明之后就已经存在,最早由大学教授、数学家、统计学家进行研究和试验。就我在实验室读研的经历来说,其实这些人在大多数情况之下都不是一个合格的程序员,当然他们也没有必要成为一个程序员罢了。但是他们确实是最早使用计算机,最早利用计算机进行科学研究的人,在过去一种统治性的语言在学术界横行,那就是Matlab。这种语言有一个非常简单的语法,我敢说任何人,没有一点编程经验的人,只要一个下午就能学会如何使用Matlab将论文中的数学公式转化成可以运行的代码。那时候Matlab是一个对于公式优化的非常好的语言,易用、易学。不过缺点也很明显,就是一个字——贵。说起来可能难以启齿,做学问的人其实很穷的,穷则思变。所以在上个世界90年代中期Python作为一门发明还没多久的语言,由于其语法简单酷似Matlab,并且开源,有一帮人率先尝试为期开发数值运算模块,作为一个Matlab的替代品,而这个模块就像我们做数据科学最常用的模块之一——NumPy。几年之后,一个在Python上实现的图形库也公布了,也就是我们现在常用的matplotlib。所以的关于科学计算的库被打包成了SciPy供人们使用。虽然那时的Python还不能完全替代Matlab(因为Matlab还有一个界面友好的IDE,以及关于电路模拟方面的功能),但是就单纯的科学计算已经能够媲美Matlab了,很多人也仅使用这些功能,渐渐地Python在科学界成为了一个免费的选择

 

在奠定了Python在科学界的地位之后,由于后期工业界对大数据的需求增加,Python这门语言逐渐被那些离开学界进入工业界的人传播到了真正的公司中。随着开发人员的增加,Python也马不停蹄的从其他语言中吸收有点。比如从R语言中吸收了DataFrame思想,而被广泛使用的pandas库,以及scikiy-learn的机器学习库。和从Mathematica中吸收了notebook的特点而开发的IPython等。无数的人为Python这个社区添砖加瓦,使得Python的进步产生了一个正向循环。

 

现如今如果说数据科学家为什么选择Python,原因不外乎人如下几条:


1、好学。是的科学家也是人,也喜欢简单的东西;

2、社区庞大。你总会遇到问题,这个时候你总是能找到人帮忙;

3、丰富的类库。在Python的世界里,统计也好,机器学习也好,有很多“现成”的工具供你使用;

4、交互式解释器有利于调试。Python程序不需要编译,更方便;

 

随着Python的热门,学习的门槛也在降低。在我学习Python的时候,在网上能找到的学习资料大抵是“通过爬虫学习Python”之类的内容。但是越来越多的作者尝试从其他的领域向人们介绍Python,如果读者喜欢,直接从数据科学入门Python也未尝不可。

 

推荐阅读:


《Python数据科学实践指南》

ISBN:978-7-111-56652-6

作者:纪路

定价:59.00元

出版时间:2017年5月


这是一本Python数据科学的入门图书,笔者结合多年工作和指导新人的经验,希望以一条简单的路线来为零基础的读者介绍数据科学。书中主要使用Python编程语言,来处理真实的数据,从而满足我们对于未知的好奇。如果你喜欢其中的某一个领域,可以以此为契机进行深入的学习。



●本文编号2454,以后想阅读这篇文章直接输入2454即可。

●输入m获取到文章目录

推荐↓↓↓
 

Python编程

更多推荐18个技术类公众微信

涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维等。


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/KOkr5H8lNz
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/2465
 
509 次点击