NumPy 2.0.0发布
💡
原文中文,约2300字,阅读约需6分钟。
📝
内容提要
NumPy 2.0.0发布,新增功能和性能改进,包括权重参数、字符串操作的高性能ufuncs、排序功能加速。Python API改进,公共API和私有API分开,删除非推荐函数和别名。C API改进,新增创建自定义dtypes的公共C API。类型推广行为改进,修正用户对类型推广的问题。NumPy 2.0.0是自2006年以来的第一个主要版本,是开源库良好管理模式的范例。建议依赖NumPy ABI的下游包构建新版本,并验证适用性。
🎯
关键要点
- NumPy 2.0.0发布,是自2006年以来的第一个主要版本。
- 新增np.quantile支持权重参数,np.unique_counts和np.unique_values功能。
- 新增可变长度字符串dtype(StringDType),简化字符串数组操作。
- 排序功能通过英特尔x86-simd-sort和Google Highway库加速。
- Python API改进,公共API和私有API分开,删除非推荐函数和别名。
- C API改进,新增创建自定义dtypes的公共C API,删除过时函数。
- 类型推广行为改进,修正用户对类型推广的误解。
- Windows上的默认整数类型改为int64,数组最大维数从32改为64。
- 建议依赖NumPy ABI的下游包构建新版本,并验证适用性。
- NumPy 2.0.0是开源库良好管理模式的范例,强调稳定性和向后兼容性。
❓
延伸问答
NumPy 2.0.0有哪些新功能?
NumPy 2.0.0新增了权重参数支持的np.quantile、np.unique_counts和np.unique_values、可变长度字符串dtype(StringDType)、以及加速的排序功能等。
NumPy 2.0.0的性能改进有哪些?
性能改进包括使用英特尔x86-simd-sort和Google Highway库加速排序功能,以及在macOS上提高线性代数操作性能。
NumPy 2.0.0对Python API做了哪些改进?
Python API改进包括公共API和私有API的分开,删除非推荐函数和别名,使学习和使用变得更容易。
NumPy 2.0.0的C API有哪些变化?
C API新增了创建自定义dtypes的公共API,删除了过时函数,并隐藏了私有内部结构以便于未来扩展。
NumPy 2.0.0的类型推广行为有什么改进?
类型推广行为通过采用NEP 50得到了改进,修正了用户对类型推广的误解,输出dtypes可能会发生变化。
为什么建议下游包构建新版本以适应NumPy 2.0.0?
建议下游包构建新版本是为了验证其适用性,避免因NumPy ABI变化而导致的问题。
🏷️
标签
➡️