NumPy 1.26 中文官方指南(四)(1)https://developer.aliyun.com/article/1510620
- 1.25.0
- 弃用内容
- 过期弃用
- 兼容性说明
- 当
mode=wrap
时,np.pad
使用严格的原始数据倍数进行填充 - 移除 Cython 中的
long_t
和ulong_t
- 针对
ufunc
的axes
参数错误消息和类型已更改 - 如果使用
where
,则支持定义__array_ufunc__
的类数组可以覆盖ufunc
- 默认情况下,使用 NumPy C API 进行编译现在具有向后兼容性
- 新功能
np.einsum
现在接受具有object
数据类型的数组- 增加对原位矩阵乘法的支持
- 新增
NPY_ENABLE_CPU_FEATURES
环境变量 - NumPy 现在有一个
np.exceptions
命名空间 np.linalg
函数返回 NamedTuplesnp.char
中的字符串函数与 NEP 42 自定义 dtype 兼容- 字符串 dtype 实例可以从字符串抽象 dtype 类创建
- 富士通 C/C++ 编译器现在受支持
- 现在支持 SSL2
- 改进
NDArrayOperatorsMixin
指定它没有__slots__
- 修复复数零点的幂
- 新的
DTypePromotionError
- np.show_config 使用来自 Meson 的信息
- 修复了当以参数 prepend/append 调用时,
np.ma.diff
不保留掩码的问题。 - 在 Cython 中修复了 NumPy C-API 的错误处理
- 直接生成随机数生成器的能力
numpy.logspace
现在支持非标量base
参数np.ma.dot()
现在支持非 2D 数组- 在 repr 中明确显示 .npz 文件的键
- NumPy 现在在
np.dtypes
中公开了 DType 类 - 在保存为 .npy 或 .npz 文件之前删除 dtype 元数据
numpy.lib.recfunctions.structured_to_unstructured
在更多情况下返回视图- 有符号和无符号整数始终正确比较
- 性能改进和更改
- 在启用 AVX-512 的处理器上,
np.argsort
更快了 - 在启用 AVX-512 的处理器上,
np.sort
更快了 __array_function__
机制的速度提升](release/1.25.0-notes.html#array-function-machinery-is-now-much-faster)ufunc.at
的速度可以提升很多](release/1.25.0-notes.html#ufunc-at-can-be-much-faster)NpzFile
上的成员测试更快](release/1.25.0-notes.html#faster-membership-test-on-npzfile)
- 变更](release/1.25.0-notes.html#changes)
np.r_[]
和np.c_[]
的某些标量值](release/1.25.0-notes.html#np-r-and-np-c-with-certain-scalar-values)- 大多数 NumPy 函数被包装为可调用的 C 函数](release/1.25.0-notes.html#most-numpy-functions-are-wrapped-into-a-c-callable)
- C++ 标准库使用](release/1.25.0-notes.html#c-standard-library-usage)
- 1.24.3
- 贡献者](release/1.24.3-notes.html#contributors)
- 合并的拉取请求](release/1.24.3-notes.html#pull-requests-merged)
- 1.24.2
- 贡献者](release/1.24.2-notes.html#contributors)
- 合并的拉取请求](release/1.24.2-notes.html#pull-requests-merged)
- 1.24.1
- 贡献者](release/1.24.1-notes.html#contributors)
- 合并的拉取请求](release/1.24.1-notes.html#pull-requests-merged)
- 1.24.0
- 弃用信息
- 弃用
fastCopyAndTranspose
和PyArray_CopyAndTranspose
](release/1.24.0-notes.html#deprecate-fastcopyandtranspose-and-pyarray-copyandtranspose) - Python 整数的越界转换
- 弃用
msort
](release/1.24.0-notes.html#deprecate-msort) np.str0
和类似对象现在弃用](release/1.24.0-notes.html#np-str0-and-similar-are-now-deprecated)
- 弃用过期的内容](release/1.24.0-notes.html#expired-deprecations)
- 兼容性说明](release/1.24.0-notes.html#compatibility-notes)
array.fill(scalar)
的行为可能略有不同](release/1.24.0-notes.html#array-fill-scalar-may-behave-slightly-different)- 子数组到对象的转换现在会进行拷贝](release/1.24.0-notes.html#subarray-to-object-cast-now-copies)
- 返回的数组将尊重 dtype 参数对象的唯一性](release/1.24.0-notes.html#returned-arrays-respect-uniqueness-of-dtype-kwarg-objects)
BufferError
引发 DLPack 导出错误- 不再在 GCC-6 上进行 NumPy 构建的测试](release/1.24.0-notes.html#numpy-builds-are-no-longer-tested-on-gcc-6)
- 新特性](release/1.24.0-notes.html#new-features)
- 多项式类中添加了新的
symbol
属性](release/1.24.0-notes.html#new-attribute-symbol-added-to-polynomial-classes) - Fortran
character
字符串的 F2PY 支持](release/1.24.0-notes.html#f2py-support-for-fortran-character-strings) - 新函数
np.show_runtime
](release/1.24.0-notes.html#new-function-np-show-runtime) testing.assert_array_equal
的strict
选项](release/1.24.0-notes.html#strict-option-for-testing-assert-array-equal)- 添加到
np.unique
的新参数equal_nan
numpy.stack
的casting
和dtype
关键字参数numpy.vstack
的casting
和dtype
关键字参数numpy.hstack
的casting
和dtype
关键字参数- 底层的单实例 RandomState 的比特生成器可以更改
np.void
现在有一个dtype
参数
- 改进
- F2PY 改进
- IBM zSystems Vector Extension Facility (SIMD)
- NumPy 现在在转换中产生浮点错误
- F2PY 支持 value 属性
- 为第三方 BitGenerators 添加了 pickle 支持
arange()
现在明确在 dtype 为 str 时失败numpy.typing
协议现在可以在运行时检查
- 性能改进和变更
- 为整数数组提供
np.isin
和np.in1d
的更快版本 - 更快的比较运算符
- 变更
- 更好的整数除法溢出报告
masked_invalid
现在就地修改掩码nditer
/NpyIter
允许为所有操作数进行分配
- 1.23.5
- 贡献者
- 合并的拉取请求
- 1.23.4
- 贡献者
- 合并的拉取请求
- 1.23.3
- 贡献者
- 合并的拉取请求
- 1.23.2
- 贡献者
- 合并的拉取请求
- 1.23.1
- 贡献者
- 合并的拉取请求
- 1.23.0
- 新函数
- 弃用信息
- 过期的弃用项
- 新特性
- crackfortran 现在支持运算符和赋值重载
- f2py 支持从派生类型语句中读取访问类型属性
genfromtxt
新增参数ndmin
np.loadtxt
现在支持引号字符和单个转换函数- 改变到不同尺寸的 dtype 现在只需要最后一个轴连续性
- F2PY 的确定性输出文件
average
的keepdims
参数np.unique
新增参数equal_nan
- 兼容性说明
- 1 维
np.linalg.norm
现在保留了浮点输入类型,即使对于标量结果 - 对结构化(void) dtype 提升和比较的更改
NPY_RELAXED_STRIDES_CHECKING
已被移除- [
np.loadtxt
已经接收到一些更改
- 改进
ndarray.__array_finalize__
现在可调用- 添加对 VSX4/Power10 的支持
np.fromiter
现在接受对象和子数组- Math C 库特性检测现在使用正确的签名
np.kron
现在保留子类信息
- 性能改进和更改
- 更快的
np.loadtxt
- 更快的约简运算符
- 更快的
np.where
- NumPy 标量上的更快操作
- 更快的
np.kron
- 1.22.4
- 贡献者
- 已合并的拉取请求
- 1.22.3
- 贡献者
- 已合并的拉取请求
- 1.22.2
- 贡献者
- 已合并的拉取请求
- 1.22.1
- 贡献者
- 已合并的拉取请求
- 1.22.0
- 过时的弃用
- 已移除废弃的数值风格 dtype 字符串
- 在 npyio 中
loads
,ndfromtxt
和mafromtxt
的过时弃用已移除
- 弃用
- 在 mrecords 中使用分隔符而不是作为 kwarg 的 delimitor
- 将布尔
kth
值传递给(arg-)partition 已被弃用 np.MachAr
类已被弃用
- 兼容性注意事项
- Distutils 对 clang 强制使用严格的浮点模型
- 已删除复数类型的 floor division 支持
numpy.vectorize
函数现在产生与基础函数相同的输出类- 不再支持 Python 3.7
- 复杂数据类型的 str/repr 现在在标点符号后包含空格
- 在
PCG64DSXM
和PCG64
中纠正了advance
- 生成 32 位浮点随机变量方式的改变
- C API 变更
- 内部屏蔽循环不再可定制化
- 未来 DType 和 UFunc API 的实验性曝光
- 新特性
- NEP 49 配置分配器
- 实施 NEP 47(采用数组 API 标准)
- 可以从注释块生成 C/C++ API 参考文档
- 通过 mypy 插件分配平台特定的
c_intp
精度 - 添加 NEP 47 兼容的 dlpack 支持
keepdims
可选参数添加到numpy.argmin
,numpy.argmax
bit_count
用于计算整数中 1 位的数量ndim
和axis
属性已添加到numpy.AxisError
windows/arm64
目标的初步支持- 增加对龙芯的支持
- 添加了
.clang-format
文件 is_integer
现在适用于numpy.floating
和numpy.integer
- Fortran 维度规范的符号解析器
ndarray
,dtype
和number
现在可以在运行时进行下标索引
- 改进
ctypeslib.load_library
现在可以接受任何类路径对象- 给
finfo
添加smallest_normal
和smallest_subnormal
属性 numpy.linalg.qr
接受堆叠矩阵作为输入numpy.fromregex
现在接受os.PathLike
的实现- 为
quantile
和percentile
添加新方法 - 向
nan
函数添加了缺失参数 - 对主要的 NumPy 命名空间进行注释
- 使用 AVX-512 对 umath 模块进行向量化
- OpenBLAS v0.3.18
- 1.21.6
- 1.21.5
- 贡献者
- 已合并的拉取请求
- 1.21.4
- 贡献者
- 已合并的拉取请求
- 1.21.3
- 贡献者
- 已合并的拉取请求
- 1.21.2
- 贡献者
- 已合并的拉取请求
- 1.21.1
- 贡献者
- 已合并的拉取请求
- 1.21.0
- 新函数
- 添加
PCG64DXSM
BitGenerator
- 过期的弃用项
- 已弃用项
.dtype
属性必须返回dtype
numpy.convolve
和numpy.correlate
的不精确匹配已弃用np.typeDict
已正式弃用- 在类似数组创建时会引发异常
- 已弃用四个
ndarray.ctypes
方法
- 过期的弃用项
- 移除已弃用的
PolyBase
和未使用的PolyError
和PolyDomainError
- 兼容性说明
- 通用函数的错误类型更改
__array_ufunc__
参数验证__array_ufunc__
和额外的位置参数- 在
Generator.uniform
中验证输入数值 /usr/include
从默认包含路径中移除- 对具有
dtype=...
的比较的更改 - 在 ufuncs 中的
dtype
和signature
参数的更改 - Ufunc
signature=...
和dtype=
泛化以及casting
- Distutils 对 clang 强制使用严格浮点模型
- C API 改变
- 使用
ufunc->type_resolver
和 “type tuple”
- 新功能
- 为处理特定平台
numpy.number
精度添加了一个 mypy 插件 - 让 mypy 插件管理扩展精度
numpy.number
子类 - 用于打印浮点数值的新
min_digits
参数 - f2py 现在可以识别 Fortran 抽象接口块
- 通过环境变量配置 BLAS 和 LAPACK
- 为
ndarray
添加了一个运行时可订阅的别名
- 改进
numpy.unwrap
的任意period
选项np.unique
现在返回单个NaN
Generator.rayleigh
和Generator.geometric
性能改进- 改进了占位符注解
- 性能改进
- NumPy 数组整数除法性能改进
- 优化
np.save
和np.load
在小数组上的性能
- 更改
numpy.piecewise
的输出类现在与输入类匹配- 启用 Accelerate Framework
- 1.20.3
- 贡献者
- 合并的拉取请求
- 1.20.2
- 贡献者
- 合并的拉取请求
- 1.20.1
- 亮点
- 贡献者
- 合并的拉取请求
- 1.20.0
- 新函数
random.Generator
类有一个新的permuted
函数。sliding_window_view
为 numpy 数组提供了滑动窗口视图(release/1.20.0-notes.html#sliding-window-view-provides-a-sliding-window-view-for-numpy-arrays)numpy.broadcast_shapes
是一���新的用户可见函数(release/1.20.0-notes.html#numpy-broadcast-shapes-is-a-new-user-facing-function)
- 弃用(release/1.20.0-notes.html#deprecations)
- 弃用使用
np.int
等内置类型的别名(release/1.20.0-notes.html#using-the-aliases-of-builtin-types-like-np-int-is-deprecated) - 将
shape=None
传递给具有非可选形状参数的函数已被弃用(release/1.20.0-notes.html#passing-shape-none-to-functions-with-a-non-optional-shape-argument-is-deprecated) - 索引错误即使索引结果为空也会报告(release/1.20.0-notes.html#indexing-errors-will-be-reported-even-when-index-result-is-empty)
mode
和searchside
的不精确匹配已被弃用(release/1.20.0-notes.html#inexact-matches-for-mode-and-searchside-are-deprecated)- numpy.dual 的弃用(release/1.20.0-notes.html#deprecation-of-numpy-dual)
outer
和ufunc.outer
对矩阵已弃用(release/1.20.0-notes.html#outer-and-ufunc-outer-deprecated-for-matrix)- 进一步弃用数字样式类型(release/1.20.0-notes.html#further-numeric-style-types-deprecated)
ndindex
的ndincr
方法已被弃用(release/1.20.0-notes.html#the-ndincr-method-of-ndindex-is-deprecated)- 未定义
__len__
和__getitem__
的 ArrayLike 对象(release/1.20.0-notes.html#arraylike-objects-which-do-not-define-len-and-getitem)
- 未来更改(release/1.20.0-notes.html#future-changes)
- 数组不能使用子数组 dtypes(release/1.20.0-notes.html#arrays-cannot-be-using-subarray-dtypes)
- 过时的废弃
- 已移除财务函数。
- 兼容性注意事项
isinstance(dtype, np.dtype)
而不是type(dtype) is not np.dtype
。- 在
axis=None
的情况下使用相同种类转换融合。 - 赋值给数组时,NumPy 标量会被转换。
- 当混合字符串和其他类型时,数组强制转换会发生变化。
- 数组强制转换重构
- 写入
numpy.broadcast_arrays
的结果将导出只读缓冲区。 - 数字样式类型名称已从类型词典中删除。
operator.concat
函数现在对数组参数引发 TypeError。- 从 ABCPolyBase 中删除了
nickname
属性。 float->timedelta
和uint64->timedelta
提升将引发 TypeError。numpy.genfromtxt
现在正确解包结构化数组。mgrid
、r_
等对非默认精度输入一直返回正确输出。- 形状不匹配的布尔数组索引现在会正常地引发
IndexError
。 - 转换错误中断迭代。
- f2py 生成的代码可能返回 Unicode 而不是字节字符串。
__array_interface__["data"]
元组的第一个元素必须是整数。poly1d
尊重所有零参数的数据类型。- swig 的 numpy.i 文件仅适用于 Python 3。
- 在
np.array
中发现空数据类型。
- C API 变化
PyArray_DescrCheck
宏被修改np.ndarray
和np.void_
的大小发生了变化
- 新特性
numpy.all
和numpy.any
函数的where
关键字参数numpy
函数mean
、std
、var
的where
关键字参数numpy.fft
函数的norm=backward
、forward
关键字选项- NumPy 现在是有类型的
- 运行时可访问
numpy.typing
- 为 f2py 生成的模块添加新的
__f2py_numpy_version__
属性。 - 通过 runtests.py 可以运行
mypy
测试 - 否定用户定义的 BLAS/LAPACK 检测顺序
- 允许通过 asv build 传递优化参数
- 现在支持 NVIDIA HPC SDK nvfortran 编译器
cov
和corrcoef
的dtype
选项
- 改进
- 改进多项式的字符串表示(
__str__
) - 将 Accelerate 库从 LAPACK 库候选中移除
- 包含多行对象的对象数组的
repr
更易读 concatenate
函数支持提供输出的数据类型- f2py 回调函数线程安全
numpy.core.records.fromfile
现在支持类文件对象- 在 AIX 上添加对 RPATH 的支持到 distutils
- 使用命令行参数指定的 f90 编译器
- 为 Cython 3.0 及以上版本添加 NumPy 声明
- 使窗口函数完全对称
- 性能改进和更改
- 启用多平台 SIMD 编译器优化
- 更改
- 更改
divmod(1., 0.)
和相关函数的行为 np.linspace
在整数上使用 floor](release/1.20.0-notes.html#np-linspace-on-integers-now-uses-floor)
- 1.19.5
- 贡献者
- 合并的拉取请求
- 1.19.4
- 贡献者
- 合并的拉取请求
- 1.19.3
- 贡献者
- 合并的拉取请求
- 1.19.2
- 改进
- 为 Cython 3.0 及以上版本添加 NumPy 声明
- 贡献者
- 合并的拉取请求
- 1.19.1
- 贡献者
- 合并的拉取请求
- 1.19.0
- 亮点
- 已过时退役
numpy.insert
和numpy.delete
不再可以在 0 维数组上通过轴传递](release/1.19.0-notes.html#numpy-insert-and-numpy-delete-can-no-longer-be-passed-an-axis-on-0d-arrays)numpy.delete
不再忽略超出范围的索引](release/1.19.0-notes.html#numpy-delete-no-longer-ignores-out-of-bounds-indices)numpy.insert
和numpy.delete
不再接受非整数索引](release/1.19.0-notes.html#numpy-insert-and-numpy-delete-no-longer-accept-non-integral-indices)numpy.delete
不再将布尔索引强制转换为整数](release/1.19.0-notes.html#numpy-delete-no-longer-casts-boolean-indices-to-integers)
- 兼容性说明
- 从
numpy.random.Generator.dirichlet
更改随机变量流 PyArray_ConvertToCommonType
中的标量提升- Fasttake 和 fastputmask slots 被废弃并设置为 NULL
np.ediff1d
在to_end
和to_begin
上的类型转换行为- 将空数组对象转换为 NumPy 数组
- 移除
multiarray.int_asbuffer
- 移除了
numpy.distutils.compat
issubdtype
不再将float
解释为np.floating
- 更改标量上
round
的输出以与 Python 一致 numpy.ndarray
构造函数不再将strides=()
解释为strides=None
- C 级别的字符串到日期时间转换已更改
- 使用小种子的
SeedSequence
不再与生成冲突
- 废弃内容
- 废弃对不规整输入的自动
dtype=object
- 传递
shape=0
到numpy.rec
工厂函数已被废弃 - 废弃可能未使用的 C-API 函数
- 转换某些类型到 dtypes 已废弃
- 废弃
np.complexfloating
标量的round
操作 numpy.ndarray.tostring()
已被废弃,推荐使用tobytes()
- C API 变更
- API 函数中对
const
维度的更好支持 - UFunc 内部循环增加 const 修饰符
- 新特性
numpy.frompyfunc
现在接受一个 identity 参数np.str_
标量现在支持缓冲区协议numpy.copy
的subok
选项numpy.linalg.multi_dot
现在接受out
参数numpy.count_nonzero
的keepdims
参数numpy.array_equal
的equal_nan
参数
- 改进
- 改进 CPU 特性的检测
- 在回退的 lapack_lite 中,64 位平台上使用 64 位整数大小
- 当输入为
np.float64
时,使用 AVX512 内部实现np.exp
- 禁用 madvise hugepages 的能力
numpy.einsum
在子脚本列表中接受 NumPyint64
类型np.logaddexp2.identity
更改为-inf
- 变更
- 移除了对
__array__
的额外参数处理 numpy.random._bit_generator
移动到numpy.random.bit_generator
- 通过
pxd
文件提供对随机分布的 Cython 访问 - 修复了
numpy.random.multivariate_normal
中eigh
和cholesky
方法 - 修复了
MT19937.jumped
中跳转的实现
- 1.18.5
- 贡献者
- 合并的拉取请求
- 1.18.4
- 贡献者
- 合并的拉取请求
- 1.18.3
- 亮点
- 贡献者
- 合并的拉取请求
- 1.18.2
- 贡献者
- 合并的拉取请求
- 1.18.1
- 贡献者
- 合并的拉取请求
NumPy 1.26 中文官方指南(四)(3)https://developer.aliyun.com/article/1510622