NumPy迎来重大版本更新,新增函数注释、滑动窗口视图功能,仅支持Python 3.7以上版本...

杨净 发自 凹非寺
量子位 报道 | 公众号 QbitAI

最近,NumPy上线了最新版本——NumPy 1.20。

作为Python的最重要的扩展程序库之一,也是入门机器学习的必备工具,该版本一经发布,就一度登上Hacker News等社区热搜榜单。

这个版本号称是迄今为止规模最大版本,共合并了184人贡献的约684条PR,支持的Python版本是3.7-3.9。

注意哦,并不支持Python 3.6。

此次版本的亮点如下:

  • NumPy函数注释。

  • 扩大SIMD使用范围,提高ufuncs的执行速度。

  • 文档改进,包括大约185个PR合并

  • 对即将到来的Cython 3.0提供初步支持。

  • 可为数组提供滑动窗口视图。

三大新功能

此次上线版本主要有三大新功能。

第一个,random.Generator类有一个新的permuted函数。

新函数与shuffle和permutation的不同之处在于,给定轴索引的子数组会被换算。

比如,现在就可以对一个二维数组的行或者列进行换算。

第二个,sliding_window_view,可为NumPy数组提供滑动窗口视图。

这一功能适用于多维度、可以明确指定轴、同一轴使用多次、移动多个元素的视图等用法。

第三个,numpy.broadcast_shapes,一个面向用户的全新功能,从给定的形状元组相互广播中获得形状。

除了新功能之外,还有一系列的改进。

比如,启动多平台SIMD编译器优化。

其中,包括新的构建参数、跨体系结构CPU调度程序、自动生成的新C标头、向numpy umath模块添加新属性,在PytestTester运行期间打印支持的CPU功能。

再比如,弃用np.int这一别名。

原本np.int是int的别名,但常常让新手困扰,而且原本也是出于历史原因而存在。

除了np.int外,还有一个不推荐使用的别名名单。(其中,第三列为备用NumPy名称)

以及,还有mode 和 searchside的inexact match、numpy.dual模块都被弃用。

对于新版本的发布,有不少网友表示很期待里面中的新功能。

比如,类型注释。

类型注释对我来很重要。如果你比较在意SIMD,或许可以考虑Julia。

还有网友pick了“滑动窗口视图”这一新功能。

在分析数据时经常使用滑动窗口,以前可以使用as_strided的方式来实现,但这个方法太麻烦,现在这一新功能显然更简单。

参考链接:
https://NumPy.org/doc/1.20/release/1.20.0-notes.html#deprecations
https://news.ycombinator.com/item?id=25977977

—  —

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

加入AI社群,拓展你的AI行业人脉

量子位「AI社群」招募中!欢迎AI从业者、关注AI行业的小伙伴们扫码加入,与50000+名好友共同关注人工智能行业发展&技术进展

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值