跳转至

NumPy 支持

安装可选 extra:

python -m pip install "dataioc[numpy]"

继承 DataNDArray 定义数组类型:

from dataioc import DataIoC, DataNDArray


class SensorArray(DataNDArray):
    pass


container = DataIoC().with_data(
    SensorArray([1, 1, 1]),
    SensorArray[1]([2, 2, 2]),
)
assert container[SensorArray[1]].sum() == 6

兼容范围

支持范围是 numpy>=1.26,<3。Python 3.9 支持 NumPy 1.26 和 2.0;更新的 NumPy 版本需要更新的 Python。安装工具会选择兼容版本。

CI 测试 NumPy 1.26.0、最新 1.26、2.0.0 和最新稳定 2.x,同时覆盖 Python 3.9 至 3.14 的锁定依赖组合。

数组行为

操作 行为
多个输入数组 检查样本数量后按列拼接
形状保持的数值 ufunc 结果 dtype 兼容时保留子类
多输出 ufunc 对每个结果分别应用子类保留规则
显式 out 或原地操作 保持输出对象身份不变
切片或 reshape 返回普通 NumPy 数组
标量索引或归约 遵循 NumPy 的标量行为

数值提升和溢出行为遵循当前安装的 NumPy 版本,因此 1.x 和 2.x 的结果 dtype 可能不同。

核心导入和 from dataioc import * 都不会导入 NumPy。显式导入 DataNDArray 才加载可选集成,此时需要已经安装 NumPy。

接口签名见 API 参考