Numpy会成为下一个Python吗?Python是世界上最流行的统计计算语言之一。有趣的是,开发人员从未将Python视为一种统计语言。尽管Python确实具有一些功能特性,例如:无类计算,但它在很大程度上仍然是一种面向对象的语言。与R等传统统计语言相比,Python更类似于C++这样的语言。因此,事实上,Python的代码库最初并不是为数据科学而创建的。像R、Julia,甚至Go这样的语言通常都实现了执行线性代数运算的基本函数和操作数,而Python基础库没有这些函数。如果您已经将Python用于线性代数一段时间,那么很可能在您的代码中声明了这个经典语句:importnumpyasnpNumpy将Python的统计能力从20%提高到100%。数据科学家很难避免使用Numpy。Numpy不仅具有Python语言所缺乏的线性代数能力,而且还具有许多使工作更有效率的数学和数据管理功能。不仅如此,Pandas(Python的数据表管理库)是建立在Numpy之上的。这使得两者的集成几乎是无缝的。Numpy和Pandas稳定、强大的代码库简化了数据科学任务。这就是Python在数据科学领域领先于许多其他语言的全部原因。这很简单,也很容易理解。鉴于大多数高级语言都实现了自己的线性代数函数,Python是低级语言并且需要多个操作数或函数,这似乎有些奇怪。如果没有Numpy,Python将如何在数组之间进行数学运算?它如何与其他当前的统计语言竞争?实际上,Python遍历数组的能力非常棒。zip()函数可以同时遍历两个列表。array=[]forf,binzip(array1,array2):res=f*barray.append(res)虽然这看起来并不难,但将Python与另一种语言(例如R或Julia)进行比较表明,使用更简单的方法来获取两个数组的乘积。例如,在R中:array<-array1*array2R使这变得容易;星号操作数可用于数组乘法以及整数和双精度数的乘法。在Julia中:array=array1.*array2在Julia中,只需在星号前放置一个点,使其成为“.*”,即可将两个数组相乘。随着Python越来越成为一种统计语言,看看Numpy是否会进入基础语言将会很有趣。显然,由于Python用于统计,这将影响其添加更多功能特性的可能性。尽管Numpy肯定会继续提供许多工具并提高处理困难任务的能力,但我仍然无法想象一种不需要指针的基础语言,Numpy会经历一些弃用。可能很多机器都安装了Numpy之类的东西,但是需要一个包在一行中进行数组乘法似乎有点零碎和奇怪。尽管Numpy的某些功能是否已被纳入Python基础库并不重要,并且Numpy已被视为Python的扩展,但我仍然觉得这个想法很有趣。事实上,这很有可能,而且现在正在按计划发生。虽然这个想法很合理,但有充分的理由不这样做。特别是,随着Python在数据科学中的应用越来越广泛,它可能会添加一些功能来适应统计任务。未来会如何发展,我们拭目以待……
