python基础代码大全黑客⿊客最喜欢的9⼤处理数据的编程语⾔,你知道为啥吗?
有关⼤数据的话题⼀直很⽕热。伴随着信息的爆炸式增长,⼤数据渗透到了各⾏各业,⼴泛应⽤于企业中,同时也使得传统的软件⽐如Excel 看起来很笨拙。
数据分析不再只是书呆⼦的事,同时其对⾼复杂性分析、实时处理的需求也⽐以往更加庞⼤。
那么筛选海量数据集最优的⼯具是什么呢?我们咨询了⼀些数据⿊客关于他们在数据分析的核⼼⼯作中最喜欢的编程语⾔和⼯具包。
1、R 语⾔
这份名单如果不以 R 开头,那就是彻头彻尾的疏忽。⾃ 1997 年起,作为⼀门免费的,可替代 Matlab 或 SAS 等昂贵统计软件的语⾔,R 被抛弃。
但是在过去的⼏年中,它却成了数据科学的宠⼉—甚⾄成了统计学家、 华尔街交易员、⽣物学家和硅⾕开发者必不可少的⼯具。 随着其商业价值的不断增长和传播,诸如⾕歌、Facebook、 美国银⾏和纽约时代周刊都在使⽤。
R 简单易⽤。通过 R ,短短⼏⾏代码就可以筛选复杂的数据集,通过成熟的模型函数处理数据,制作精美的图表进⾏数据可视化。简直就是 Excel 的加强灵活版。
R 最⼤的价值就是围绕其开发的活跃的⽣态圈: R 社区在持续不断地向现存丰富的函数集增添新的包
和特性。据估计 R 的使⽤者已经超过200 万⼈,最近的⼀项调查也显⽰ R⽬前是数据科学领域最受欢迎的语⾔,⼤约 61% 的受访者使⽤ R(第⼆名是 Python, 占⽐39%)。
在华尔街,R 的使⽤⽐例也在不断增长。美国银⾏副总裁Niall O’Connor 说:“以往,分析员通常是熬夜研究 Excel ⽂件,但是现在 R 正被逐渐地应⽤于⾦融建模,尤其是作为可视化⼯具。
R 促使了表格化分析的出局。”作为⼀门数据建模语⾔, R 正在⾛向成熟,尽管在公司需要⼤规模产品的时候 R 能⼒有限,也有些⼈说它已经被其他语⾔替代了。
Metamarkets 公司的 CEO Michael Driscoll 说:“ R 擅长的是勾画,⽽不是搭建,在 Google 的 page rank 算法和 Facebook 的好友推荐算法实现的核⼼中是不会有 R 的。
⼯程师会⽤ R 进⾏原型设计,再⽤Java 或者 Python将其实现。”
Paul Butler 在 2010 年⽤ R 构建了⼀个著名的 Facebook 世界地图,证明了 R 在数据可视化上的强⼤能⼒。然⽽他并不经常使⽤ R。
Butler 说:“由于在处理较⼤数据集时缓慢且笨拙,R 在⾏业中已经有些沦为明⽇黄花了 ”那么使⽤什么作为它的替代呢?看下去。
2、Python
如果 R 是个有点神经质的可爱的极客,那么 Python 就是它容易相处的欢快的表弟。融合了 R 快速成熟的数据挖掘能⼒以及更实际的产品构建能⼒, Python 正迅速地获得主流的呼声。
Python 更直观,且⽐ R 更易学,近⼏年其整体的⽣态系统发展也成长得很快,使其在统计分析上的能⼒超越了之前的 R 语⾔。
Butler 说:“Python 是⾏业⼈员正在转换发展的⽅向。过去两年⾥,很明显存在由 R 向 Python 转化的趋势”在数据处理中,通常存在规模和技巧的权衡,Python 作为⼀个折中出现了。
bittorrentkitty磁力猫
IPython notebook 和NumPy 可以⽤于轻量⼯作的处理, ⽽ Python 则是中级规模数据处理的有⼒⼯具。丰富的数据交流社区也是Python 的优势,它提供了⼤量的Python ⼯具包和特性。
美国银⾏利⽤ Python 开发新产品以及基础设施接⼝,同时也⽤于处理⾦融数据。O’Donnell 说:“Python ⽤途宽⼴且灵活,所以⼈们蜂拥⽽⾄”。然⽽, Driscoll 也提到它并不是⾼性能的语⾔,偶尔才会⽤于装配驱动⼤规模的核⼼基础设施。
3、JULIA
最主流的数据科学处理语⾔包括 R、 Python、 Java、 Matlab和 SAS。但是这些语⾔仍然存在⼀些不⾜之处,⽽Julia 正是待以观察的新⼈。
对⼤规模商⽤来说, Julia 还是太晦涩了。但在谈到其取代 R 和 Python 领先地位的潜⼒的时候,数据极客们都会变得很激动。 Julia 是⼀门⾼级的,⾮常快的函数式语⾔。速度上⽐ R 快, 可能⽐ Python 的扩展性更⾼,且相对易学。
Butler 说:“Julia 正在快速上升。最终将可以⽤ Julia 完成任何 R 和 Python 可以完成的事”。如今的问题是 Julia 太“年轻”了。
其数据交流社区仍处在早期发展阶段,在没有⾜够的包和⼯具之前是不⾜以与 R 和 Python 竞争的。Driscoll 说:“Julia 很年轻,但正在积攒⼒量⽽且未来很可观”。
4、JAVA
在硅⾕最⼤的科技公司⾥,Java 和基于 Java 的框架构成了其底层的技术⾻架。Driscoll 说:“如果深⼊观察Twitter,Linkedin 或者Facebook,你会发现 Java 是他们公司数据引擎架构的基础语⾔”。
Java 并没有 R 和 Python 那样的数据可视化的能⼒, 同时也不是最好的⽤于统计模型的语⾔。但是如果需要进⾏原型的基础开发和构建⼤规模系统, Java 往往是最好的选择。
5、HADOOP 和 HIVE
php基础题库及答案
医生不建议查微量元素
16转10进制在线为了满⾜数据处理的巨⼤需求,基于 Java 的⼯具涌⽽现。 作为基于 Java 的框架,Hadoop 在批处理领域成为热点。Hadoop ⽐其他处理⼯具速度要慢,但是它⾮常精确且被⼴泛的应⽤于后台分析,它很好的融合了 Hive, ⼀个运⾏在 Hadoop 上的基于查询的框架。
6、SALA
Scala 是另⼀个基于 Java的语⾔,和 Java 很相似,它正在逐渐成长为⼤规模机器学习或⾼级算法的⼯具。它是函数式语⾔,也能够构建健壮的系统。
数据分析师资格证书含金量
Driscoll 说:“Java 就像是直接⽤钢筋进⾏搭建, Scala 则像是在处理黏⼟原材料,可以将其放进窖中烧制成钢筋”。
7、KAFKA 和 STORM
当需要快速、实时分析时怎么办?Kafka 可以帮助你。它已经发展了⼤概五年时间,但最近才成为⼀个流处理的流⾏框架。
Kafka 诞⽣于 Linkedin 公司的内部项⽬,是⼀个快速查询系统。⾄于 Kafka 的缺点呢? 它太快了,实时的操作也导致了⾃⾝的错误,且偶尔还会遗失信息。
Driscoll 说:“在精度和速度之间总需要做权衡,所以硅⾕所有的⼤公司⼀般都双管齐下: ⽤ kafka 和 Storm 进⾏实时处理,⽤Hadoop 做批处理系统,虽然会慢⼀点但却⼗分精确”。
Storm 是另⼀个⽤ Scala 写的框架,且它在硅⾕以擅长流处理⽽受到极⼤的关注。毫⽆疑问, Twitter, ⼀个对快速消息处理有着巨⼤兴趣的公司会收购了 Storm。
8、MATLAB
MATLAB 已经存在很长时间了,尽管价格昂贵,但它仍在某些特定领域被⼴泛使⽤: 机器学习研究、信号处理、图像识别等领域。
9、OCTAVE
Octave 与 Matlab ⾮常相似,只不过它是免费的。然⽽除了信号处理的学术圈之外很少见到使⽤。
GO 是另外⼀个获得关注的新⼿。它由 Google 开发,与 C 有⼀定渊源,且在构建稳定系统⽅⾯与 Java 和 Python 展开了竞争。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。