【问题标题】:Scipy loadmat only load integers?Scipy loadmat 只加载整数?
【发布时间】:2023-03-20 19:44:01
【问题描述】:

看来我只能将所有内容加载为 uint8 类型,只需以下两行,

导入 scipy.io X1=scipy.io.loadmat('one.mat')

所有双精度数字都会被转换。我相信 scipy 的创造者 意识到浮点数更常见的事实......

那么,我该怎么办? 谢谢!

【问题讨论】:

    标签: python scipy mat-file


    【解决方案1】:

    您要读取什么级别的 matfile?根据the docs

    v4(1.0 级)、v6 和 v7 到 7.2 支持 matfile。

    您将需要一个 HDF5 python 库 读取 matlab 7.3 格式的 mat 文件。 因为 scipy 不提供一个,所以我们 不实施 HDF5 / 7.3 接口在这里。

    对于支持的级别,应使用保存它们的 dtype 重新加载变量;如果您希望像 matlab 那样加载它们,请在调用 loadmat 的参数末尾添加 mat_dtype=True

    【讨论】:

    • 谢谢!我用命令保存了数据:“save -v4 data”,现在它可以工作了。我还是希望你能实现接口,让 scipy 变得更加强大和方便。
    • 如果“接口”是指 HDF5,您可以从 h5py.alfven.org 获得一个,例如为什么它还没有无缝集成到 scipy 中,好吧,因为 scipy(像大多数开源一样)全部由志愿者完成,缺少的只是一个足够关心它愿意努力实现它的人!-)
    猜你喜欢
    • 1970-01-01
    • 2021-12-14
    • 2018-01-13
    • 1970-01-01
    • 2021-02-13
    • 2021-01-19
    • 1970-01-01
    • 2012-06-18
    • 2012-10-31
    相关资源
    最近更新 更多