如何在 Python 中加载 .mat 文件,并单独访问列?

Mau*_*rat 2 python scipy mat

我可以加载 .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()
Run Code Online (Sandbox Code Playgroud)

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

这段代码有什么问题?

hpa*_*ulj 8

当我加载测试垫时,我会得到类似的显示

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'}
Run Code Online (Sandbox Code Playgroud)

这告诉我 mat 包含一个名为 的变量x,我可以通过以下方式访问它:

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

我们需要类似的文件信息才能提供帮助。

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

我不太确定你在 MATLAB 上下文中的列和名称是什么意思。文件中的项目是否应该是 MATLAB 矩阵、单元格和/或结构体?

列名是 Pandas 概念,而不是numpyMATLAB(我知道)。