NumPy 2.0.0的发布是该流行Python库的一个重要里程碑,带来了对用户和开发者都有影响的重大变化和改进。这次更新特别引入了对Python和C API的重大变更,可能需要修改现有代码以适应新版本。
更新亮点包括新的可变长度字符串dtype、排序和字符串操作的性能提升,以及公共和私有API的明确区分。新版本还提供了创建自定义dtype的公共C API,改变了Windows上的默认整数类型,并增加了数组维度的最大数量。对于开发者来说,移除过时的函数和添加新特性(如bitwise_count函数和macOS Accelerate支持)是显著的。
此外,还改进了文档,并对内部进行了调整,以便于未来的维护和增强。这次发布显示了NumPy持续进化的趋势,以及它在性能和易用性上的改进承诺。对于NumPy的用户和开发者来说,深入了解完整的发布说明对理解这些变化及其对工作的潜在影响至关重要。
NumPy 2.0.0是自2006年以来的首个重大版本,包含了许多新功能和对Python和C API的更改。 - 该版本包括了一些破坏性的变化,如ABI的改变、类型提升规则的改变和API的改变。 - 该版本的亮点包括新的字符串数据类型、对float32和longdouble的支持、对数组API标准的支持等。 - 性能方面的改进包括排序函数的加速、macOS上的加速支持和二进制轮子的性能改进等。 - Python API方面的改进包括公共和私有API的清晰分离、删除了一些不推荐使用的函数和别名等。 - C API方面的改进包括创建自定义数据类型的新的公共C API、删除了许多过时的函数和宏等。
行为改进方面的改进包括类型提升行为的改变、Windows上默认整数类型的改变等。
文档方面的改进包括参考指南导航的改进、源代码构建文档的重写等。
该版本还包括了许多NumPy内部的改进,包括从C到C++的代码迁移等。
该版本的破坏性变化包括对Python和C API的许多改变和NumPy ABI的破坏。
该版本支持的Python版本为3.9-3.12。
字符串现在在非空时被认为是True,在空时被认为是False。
从字符串到布尔值的转换现在会考虑到字符串"0",因为它不是空的。
之前,np.nonzero(string_array)会忽略空格,现在空格被认为是True。 - var和std函数现在添加了一个mean关键字参数,可以传入预先计算好的平均值。 - numpy.datetime64方法现在在提供带有时区的日期时间字符串时会发出UserWarning而不是DeprecationWarning。 - 在64位Windows系统上,默认的NumPy整数现在是64位。 - numpy.core已更名为numpy._core,访问numpy.core会发出DeprecationWarning。 - NPY_RELAXED_STRIDES_DEBUG选项已被移除。 - np.intp/np.uintp的定义已更改,现在与size_t/Py_ssize_t匹配。 - numpy.fft.helper已更名为numpy.fft._helper,表示它是一个私有子模块。 - numpy.linalg.linalg已更名为numpy.linalg._linalg,表示它是一个私有子模块。 - 超出范围的轴值不再与axis=None相同,任何超出范围的轴值都会引发错误。 - numpy.array和numpy.asarray的copy参数现在支持三个值:None、True和False。 - __array__特殊方法现在接受一个copy关键字参数。 - 解析带有逗号的字符串的解释已略有改变,尾部逗号现在总是创建一个结构化的dtype。 - 复数的符号计算方式已更改为z / |z|。 - 返回列表的函数现在返回元组。 - np.unique对于多维输入的return_inverse参数的输出形状已更改。 - 对象数组的any和all函数现在返回布尔值。 - 不能再使用Python int、float或complex调用np.can_cast。 - NumPy现在默认隐藏其添加的API符号,可以通过定义NPY_API_SYMBOL_ATTRIBUTE来取消隐藏。 - numpy.reshape和numpy.ndarray.reshape现在支持shape和copy参数。 - NumPy现在支持DLPack v1。 - numpy.asanyarray现在支持copy和device参数。 - ma.cov和ma.corrcoef现在更快。 - numpy.save现在使用pickle协议版本4来保存具有object dtype的数组。 - numpy.vecdot现在是一个ufunc,其精确签名有限。 - ma.corrcoef可能返回稍有不同的结果。
你好,我是AI助理
可以解答问题、推荐解决方案等
评论