【发布时间】:2013-05-01 19:34:15
【问题描述】:
我正在尝试将一些代码从 MATLAB 转换为 Python。是否有与 MATLAB 的数据集数组等效的 Python? http://www.mathworks.com/help/stats/dataset-arrays.html
【问题讨论】:
标签: python matlab dataset machine-learning
我正在尝试将一些代码从 MATLAB 转换为 Python。是否有与 MATLAB 的数据集数组等效的 Python? http://www.mathworks.com/help/stats/dataset-arrays.html
【问题讨论】:
标签: python matlab dataset machine-learning
如果您想对数据集执行数值运算,numpy 将是您的选择。
您可以通过组合基本的numpydtypes来指定任意记录类型,并通过字段名称访问记录,类似于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']
【讨论】:
Python dictionary 可以包含字符串或数字,甚至是其他字典的键:
>>> d = {"name":"foo", "age":22, "props": {"value":2.1}}
>>> d['props']['value']
2.1
根据您链接到的网站的引用,我假设这是您希望移植的内容:
Statistics Toolbox™ 具有用于存储变量的数据集数组 异构数据类型。例如,您可以组合数值数据, 逻辑数据、字符串元胞数组和分类数组合二为一 数据集数组变量。
【讨论】:
看看Numpy,它是一个第三方库,主要用于使用 Python 进行科学计算。还有一个页面覆盖Numpy for Matlab users。
我认为您正在寻找Numpy.array。
【讨论】: