打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Numpy会成为下一个Python吗?拭目以待......


图源:Unsplash

Numpy会成为下一个Python吗?

Python是目前世界上最流行的统计计算语言之一。

有趣之处在于,开发者从未想过将Python设计为一种统计语言。尽管Python确实具有一些函数特性,例如:无类计算,但它很大程度上还是一种面向对象的语言。与R这样的传统统计语言相比,Python更类似于如C ++这样的语言。因此,其实Python的代码库最初并不是为数据科学而创建的。

R,Julia甚至Go之类的语言通常实现了用来进行线性代数运算的基本函数和操作数,而Python基础库没有这类函数。如果你使用Python进行线性代数运算已有一段时间,很可能在代码中声明这个经典语句:

import numpy as np

Numpy将Python的统计能力从20%提升到了100%。对数据科学家来说,避免使用Numpy很难。

Numpy不仅具有Python语言缺少的线性代数功能,还具备许多令工作事半功倍的数学和数据管理特性。

不仅如此,Pandas(Python的数据表管理库)是基于Numpy构建的。这使得二者的集成几乎是无缝的。Numpy和Pandas稳定、强大的代码库使数据科学任务变得流畅。这就是Python在数据科学领域领先于许多其他语言的全部原因。很简单,也十分易于理解。

鉴于大多数高级语言都实现了各自的线性代数函数,Python更底层一些且需要的操作数或函数不止一个似乎有些奇怪。

比较

若没有Numpy,Python该如何在数组之间进行数学运算呢?

它又如何与当前其他统计语言一争高下呢?实际上,Python的数组迭代能力很棒。zip()函数可以同时遍历两个列表。

array =[]

for f, bin zip(array1, array2):

res = f * b

array.append(res)

尽管这看起来不难,但把Python与另一种语言(例如R或Julia)进行比较,就能发现使用一种获得两个数组的乘积的更简单的方法。

例如,在R中:

array<- array1 * array2

R使这个操作变得容易;可以将星号操作数用于数组乘法以及整数和双精度数的乘法。

在Julia中:

array =array1 .* array2

在Julia中,简单地在星号前面放置一个点,使其成为“.*”,就能将两个数组相乘。

随着Python越发成为一种统计语言,观望Numpy是否能够进入基础语言行列会是一件趣事。

显然,随着Python在统计中的应用会影响其增加更多函数特性的可能性。尽管Numpy定会继续提供许多工具并提升处理困难任务的能力,我还是无法想象一个不需要指针的基本语言,以及Numpy会进行一些弃用。可能很多机器都安装了像Numpy一样的工具,但需要一个包来在一行中进行数组乘法,这的确显得有些零散和奇怪。

尽管Numpy的某些功能是否已纳入Python基础库影响不大,Numpy也已被视为Python的扩展,我还是觉得这个想法很有趣。

实际上,这可能性很大,且当下就有望实现。虽然这个想法合理,但也有充足的理由不予采纳。特别考虑到,随着Python在数据科学中的使用越来越广泛,其可能会为适应统计任务而新增一些特性。

以后究竟会如何发展,我们还且拭目以待……

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python常用数据分析库有哪些?五大类介绍
Julia快速入门(四)数组生成、repeat; 错误处理
Python中的Numpy入门教程
python怎么创建数组
可以替代Matlab的几款开源科学计算软件
Python之Numpy库常用函数大全(含注释)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服