#文件格式 #ndarray #npy #numpy #数组 #npz

ndarray-npy

.npy 和 .npz 文件格式对 ndarray 的支持

12 个版本 (7 个重大更新)

0.8.1 2021 年 11 月 5 日
0.8.0 2021 年 4 月 7 日
0.7.2 2021 年 4 月 7 日
0.7.1 2021 年 1 月 19 日
0.2.0 2018 年 6 月 23 日

#36解析器实现

Download history 15317/week @ 2024-03-14 14816/week @ 2024-03-21 13983/week @ 2024-03-28 13973/week @ 2024-04-04 17724/week @ 2024-04-11 18380/week @ 2024-04-18 16275/week @ 2024-04-25 13593/week @ 2024-05-02 14278/week @ 2024-05-09 16312/week @ 2024-05-16 14073/week @ 2024-05-23 17498/week @ 2024-05-30 17354/week @ 2024-06-06 16598/week @ 2024-06-13 18307/week @ 2024-06-20 11244/week @ 2024-06-27

66,226 每月下载量
用于 59 个 crate(47 个直接使用)

MIT/Apache

91KB
1.5K SLoC

ndarray-npy

Continuous integration Coverage Dependencies status ndarray-npy at crates.io Documentation Matrix chat at #rust-sci:matrix.org IRC at #rust-sci on OFTC

这个 crate 提供从/to ndarrayArrayBase 类型读取/写入 .npy.npz 文件的支持。有关更多信息,请参阅 文档

这个 crate 是一个正在进行中的项目。 它目前只支持 .npy 头部描述符的子集,并且只支持作为数组元素类型的原始固定大小整数、原始浮点数、复浮点数和 bool 类型。您可以为您自己的类型实现 *Element 特性,但这个库的下一个重大更新可能会改变这些特性。

未来的计划包括支持

  • 内存映射的 .npz 文件。(内存映射的 .npy 文件已经支持。)
  • 更多元素类型(例如结构体)。如果在此实现之前您需要支持结构体,请查看 npy crate
  • 可能将此与 npy crate 合并。

与 Cargo 一起使用

使用默认功能

[dependencies]
ndarray-npy = "0.8.1"

default 功能集包括 compressed_npz 功能,该功能支持未压缩和压缩的 .npz 文件,以及 num-complex-0_4 功能,该功能支持由 num-complex crate 版本 0.4 提供的复浮点数元素类型。该 compressed_npz 功能需要依赖于 zip crate 和压缩后端 crate。

不使用默认功能

[dependencies]
ndarray-npy = { version = "0.8.1", default-features = false }

使用 default-features = falsendarray-npy 仅提供对 .npy 文件的支持,不支持 .npz 文件,也不支持复数元素。如果您想支持 .npz 文件或复数元素,可以选择附加功能

  • npz 启用对未压缩 .npz 文件的支持。这需要依赖 zip crate
  • compressed_npz 启用对未压缩和压缩 .npz 文件的支持。这需要依赖 zip crate 和压缩后端 crate。
  • num-complex-0_4 启用对由 num-complex crate 提供的版本 0.4 的复数浮点元素类型支持。

例如,您可以使用仅 npz 功能

[dependencies.ndarray-npy]
version = "0.8.1"
default-features = false
features = ["npz"]

库作者

库作者应像这样指定其对 ndarray-npy 的依赖

[dependencies.ndarray-npy]
version = "0.8.1"
default-features = false
features = [FEATURES_LIST_HERE]

其中,features 列表是以下之一

  • [] 如果您的 crate 不依赖 .npz 文件支持
  • ["npz"] 如果您的 crate 依赖于 .npz 文件支持但不依赖压缩
  • ["compressed_npz"] 如果您的 crate 依赖于支持 .npz 文件支持且带有压缩
  • ["num-complex-0_4"] 如果您的 crate 依赖于支持复数元素类型但不依赖 .npz 文件
  • ["num-complex-0_4", "npz"] 如果您的 crate 依赖于支持复数元素类型和 .npz 文件但不依赖压缩
  • ["num-complex-0_4", "compressed_npz"] 如果您的 crate 依赖于支持复数元素类型和带压缩的 .npz 文件

版本

请参阅 RELEASES.md

贡献

请随时创建问题和提交 PR。特别欢迎添加更多测试的 PR。

许可

版权所有 2018–2021 Jim Turner 和 ndarray-npy 开发者

许可协议为 Apache License, Version 2.0 或 MIT 许可证,由您选择。您只能在使用这些条款的情况下使用此项目。

依赖

~5MB
~95K SLoC