点击上方“AI遇见机器学习”,选择“星标”公众号

重磅干货,第一时间送达

杨净 发自 凹非寺    来自 | 量子位

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

欢迎关注我们,看通俗干货!

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

  1. NumPy迎来重大版本更新

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI 最近,N ...

  2. 自定义按键_NS推送10.0.0版本更新 新增按键自定义和数据转移功能

    任天堂Switch今天推送了10.0.0版本系统更新,这次更新不是大家经常调侃的"修复了版本过低的BUG",而是新增了不少的功能,比如现在主机和SD卡之间的数据能互相转移了,按键现 ...

  3. Python3 函数注释: 参数 中 的 冒号 与 箭头

    From:https://blog.csdn.net/liang19890820/article/details/74264380 简述 在 Python 3.x 中,增加了一个新特性 - 函数注释( ...

  4. Python数据结构与算法篇(四)-- 滑动窗口算法

    数组和链表代表着计算机最基本的两种存储形式:顺序存储和链式存储,所以他俩可以算是最基本的数据结构.数组是一种基础数据结构,可以用来处理常见的排序和二分搜索问题,典型的处理技巧包括双指针.滑动窗口等,数 ...

  5. LIC-Fusion 2.0:基于滑动窗口法平面特征跟踪的激光雷达惯性相机里程计

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 摘要 来自商用惯性.视觉和激光雷达传感器的多模态测量的多传感器融合提供了鲁棒和精确的6自由度姿态估计, ...

  6. WireShark 探索网络请求过程(五层网络模型、三次握手、滑动窗口协议)

    ​当我们在浏览器输入URL点击确认后,浏览器展示出网页信息.可你曾想过这其中的过程是怎样的?理论性较强的朋友可能知道后续DNS会解析地址,然后TCP/IP三次握手建立起连接,紧接着客户端与服务器开始传 ...

  7. 【Leetcode数组--子数组--滑动窗口】209. 长度最小的子数组 904. 水果成篮 1004. 最大连续1的个数 III 76. 最小覆盖子串(有数组操作中重要的方法:滑动窗口!!!!)

    文章目录 Leetcode209 1.问题描述 2.解决方案 解法一:两个错误思路的算法 解法二:暴力 解法三:滑动窗口法(O(n)) Leetcode904 1.问题描述 2.解决方案 Leetco ...

  8. WireShark抓包 图解探索网络请求过程(五层网络模型、三次握手、滑动窗口协议)

    当我们在浏览器输入URL点击确认后,浏览器展示出网页信息.可你曾想过这其中的过程是怎样的?理论性较强的朋友可能知道后续DNS会解析地址,然后TCP/IP三次握手建立起连接,紧接着客户端与服务器开始传输 ...

  9. 27.Linux网络编程 掌握三次握手建立连接过程掌握四次握手关闭连接的过程掌握滑动窗口的概念掌握错误处理函数封装实现多进程并发服务器实现多线程并发服务器

    基本概念叫协议 什么叫协议? 协议是一个大家共同遵守的一个规则, 那么在这个网络通信当中,其实就是双方通信和解释数据的一个规则,这个概念 你也不用记,你只要心里明白就可以了, 分层模型, 物数网传会表 ...

最新文章

  1. Fragment 使用 replace 的方式实现切换 以及切换的时候Fragment 生命周期
  2. iOS-APP提交上架流程(新手必看!2016年3月1日最新版)
  3. iOS友盟推送发送失败
  4. SpringBoot AOP拦截器
  5. hdfs java读写hdfs demo
  6. php密码安全检测,php – 密码安全随机字符串函数
  7. java博弈,人机博弈小游戏(Java)
  8. 今日起开始预约!北京将发放5万份数字人民币红包
  9. 使用redis解决并发操作问题
  10. [面试] C/C++语法(三)—— 字符串
  11. 修改tomcat的部署名称
  12. 温泉酒店加颜色透明matlab,通达信颜色透明代码,通达信,有条件的填充背景颜色,求源码...
  13. 无积分怎么下载百度文库的文档
  14. 多媒体大作业 ps+flash
  15. links for myself
  16. AutoLeaders控制组—51单片机学习笔记
  17. Java 16 新特性:record类
  18. Cassandra笔记
  19. OpenSSL 常用命令
  20. 我哪可爱的小主版华硕P8B75-V

热门文章

  1. Flume Sinks官网剖析(博主推荐)
  2. jquery总结01-基本概念和选择器
  3. android 登录组件开发,Android组件化开发路由的设计
  4. namenode需要多大内存
  5. 哈达马积(向量或矩阵)与内积(数字)区别
  6. HSV的数据结构各分量H S V的直观理解其实就是对应图片位置的的像素一一对应的矩阵表示
  7. 梯度下降法的个人理解随笔
  8. object转换成xml
  9. sql2000 的bcp命令
  10. java中synchronized介绍和用法