0

我正在尝试将一些代码从 MATLAB 转换为 Python。是否有与 MATLAB 的数据集数组等效的 Python? http://www.mathworks.com/help/stats/dataset-arrays.html

4

4 回答 4

3

如果要对数据集执行数值运算,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

tofile您甚至可以使用numpy 中的和“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']
于 2013-05-07T18:42:04.980 回答
3

您应该查看以 R 的数据框为模型的pandas库。

更不用说这比 MATLAB 的数据集要好得多

于 2013-05-07T18:30:33.173 回答
1

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

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

我假设这就是您希望根据您链接到的网站的引用来移植的内容:

Statistics Toolbox™ 具有用于存储具有异构数据类型的变量的数据集数组。例如,您可以将数值数据、逻辑数据、字符串元胞数组和分类数组组合到一个数据集数组变量中。

于 2013-05-07T18:26:53.000 回答
0

看看Numpy,它是一个第三方库,主要用于使用 Python 进行科学计算。还有一个为 Matlab 用户提供 Numpy的页面。

我认为您正在寻找Numpy.array

于 2013-05-07T18:29:51.137 回答