社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

Python开发者 • 4 年前 • 419 次点击  

(给Python开发者加星标,提升Python技能

来源:量子位

最近,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

- EOF -

推荐阅读  点击标题可跳转

1、1.7 万 Star!一个简单实用的 Python 进度条库

2、为了向女友炫耀!程序员魔改《合成大西瓜》:暴力吃瓜

3、用 VS Code 写 Python,这几个插件是必装的


觉得本文对你有帮助?请分享给更多人

推荐关注「Python开发者」,提升Python技能

点赞和在看就是最大的支持❤️

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/107090
 
419 次点击