【问题标题】:Numpy equivalent of MATLAB's cell arrayNumpy 等效于 MATLAB 的元胞数组
【发布时间】:2023-03-03 01:43:01
【问题描述】:

我想在 Numpy 中创建一个类似 MATLAB 的元胞数组。我怎样才能做到这一点?

【问题讨论】:

    标签: python matlab numpy


    【解决方案1】:

    Matlab 元胞数组are most similar 到 Python 列表,因为它们可以保存任何对象 - 但 scipy.io.loadmat 将它们作为 numpy 对象数组导入 - 这是一个 dtype=object 的数组。

    老实说,尽管您也可以使用 Python 列表 - 如果您持有通用对象,您将失去 numpy 数组的几乎所有优点(它旨在保存一系列值,每个值都取相同的数量内存)。

    【讨论】:

    • 我使用 python 列表缺少的一件事是使用索引数组对数组进行索引的可能性。感谢您让我发现 numpy 对象数组 :)
    • “对象数组”方法的最大缺点可能是 Matlab 单元格具有值语义:将数组 A 存储到单元格 C 中可以防止单元格元素随后更改为 A。带有 dtype=object 的 ndarray 将简单地存储对 A 的引用,Matlab 存储一个惰性的、写时复制的 clone。但是,这种差异存在于整个 numpy 中。使用数组作为函数参数时会发现它,f.e.
    猜你喜欢
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 2013-08-09
    • 1970-01-01
    相关资源
    最近更新 更多