我正在尝试将一些代码从MATLAB转换为Python。是否有Python等效于MATLAB的数据集阵列? http://www.mathworks.com/help/stats/dataset-arrays.html
答案 0 :(得分:3)
您应该查看pandas库,它是在R的数据框之后建模的。
更不用说这比MATLAB的数据集
更好答案 1 :(得分: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
您甚至可以使用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']
答案 2 :(得分:1)
Python dictionary可以包含字符串或数字的键,甚至包含其他字典:
>>> d = {"name":"foo", "age":22, "props": {"value":2.1}}
>>> d['props']['value']
2.1
我假设这是您要根据您链接到的网站上的引用移植的内容:
Statistics Toolbox™具有用于存储变量的数据集数组 异构数据类型。例如,您可以组合数字数据, 逻辑数据,字符串的单元格数组和分类数组 数据集数组变量。
答案 3 :(得分:0)
看看Numpy,它是第三方库,主要用于Python的科学计算。还有一个覆盖Numpy for Matlab users的页面。
我认为您正在寻找Numpy.array。