2017-02-23 52 views
1

我可以加载.mat文件,但由于列没有名称,我不知道如何引用它们。如何在Python中加载.mat文件,并单独访问列?

.mat文件由四列组成,并有很多行。

import numpy as np 
import pandas as pd 
from scipy.io import loadmat 
from sklearn.preprocessing import PolynomialFeatures 


data = loadmat('data.mat') 
data.keys() 

这导致:data['no names for columns in mat file']

什么是错的代码?

回答

3

当我打开一个测试垫我得到这样

In [50]: data=loadmat('test7.mat') 
In [51]: print(data) 
{'__globals__': [], 'x': array([[ 1., 2., 3.], 
     [ 4., 5., 6.]]), '__version__': '1.0', '__header__': b'MATLAB 5.0 MAT-file, written by Octave 4.0.0, 2016-09-01 15:43:02 UTC'} 

显示这告诉我垫子中含有一种叫x变量,我可以访问:

In [52]: data['x'] 
Out[52]: 
array([[ 1., 2., 3.], 
     [ 4., 5., 6.]]) 

我们需要类似种类为了帮助文件的信息。

In [53]: list(data.keys()) # list need in Py3 
Out[53]: ['__globals__', 'x', '__version__', '__header__'] 

我不太清楚你在MATLAB上下文中的列和名称的含义。该文件中的项目是否应该是MATLAB矩阵,单元和/或结构?

列名是熊猫的概念,而不是numpy或MATLAB(我知道)。

相关问题