MATLAB数据集数组的Python等效项

oewdyzsn  于 2022-12-28  发布在  Python
关注(0)|答案(4)|浏览(111)

我正在尝试将一些代码从MATLAB转换为Python。有没有Python等价于MATLAB的datset数组?http://www.mathworks.com/help/stats/dataset-arrays.html

c9qzyr3d

c9qzyr3d1#

如果你想对数据集进行数值运算,numpy是个不错的选择,你可以通过组合基本的numpy dtypes来指定任意的记录类型,并通过字段名来访问记录,类似于Python内置的字典访问。

import numpy
myDtype = numpy.dtype([('name', numpy.str_), ('age', numpy.int32), ('score', numpy.float64)])
myData = numpy.empty(10, dtype=myDtype) # Create empty data sets
print myData['age'] # prints all ages

您甚至可以使用numpy中的tofile和'fromfile'函数保存和重新加载这些数据,并继续使用命名字段:

with open('myfile.txt', 'wb') as f:
    numpy.ndarray.tofile(myData, f)

with open('myfile.txt', 'rb') as f:
    loadedData = numpy.fromfile(f, dtype=myDtype)
    print loadedData['age']
s8vozzvw

s8vozzvw2#

您应该查看pandas库,它是根据R的 Dataframe 建模的。
更不用说这比MATLAB的数据集要好得多

kxe2p93d

kxe2p93d3#

Python字典可以包含字符串键、数字键甚至其他字典键,如下所示:

>>> d = {"name":"foo", "age":22, "props": {"value":2.1}}
>>> d['props']['value']
2.1

我假设这是什么你正在寻找港口超过基于此报价从您链接到的网站:
Statistics Toolbox™具有数据集数组,用于存储具有异构数据类型的变量。例如,可以将数值数据、逻辑数据、字符串单元格数组和分类数组组合在一个数据集数组变量中。

zsbz8rwp

zsbz8rwp4#

看看Numpy,它是第三方库,主要用于Python的科学计算,还有一个面向Matlab用户的Numpy页面。
我认为你在寻找Numpy.array

相关问题