首页 > 解决方案 > 将 Matlab 文件保存到 Python Pandas 数据框中

问题描述

我的目标是提取 Matlab 文件(称为 data_123)的值并将其存储到 Pandas Dataframe 中。特别是,Matlab 文件包含roi_mag应该存储在数据框mag列中的变量data_mag。然后,数据框的roidata_mag应该包含这个roi_mag值的位置,但从 1 开始(所以第一个roi_mag元素应该有roi=1,第二个roi=2等等)。

我使用以下代码,但它返回一个空数据框 - 为什么会这样?

import pandas as pd
import os
import scipy.io

#Create a dataframe
col_names =  ['roi','mag']
data_mag = pd.DataFrame(columns = col_names)

#Read in Matlab file
path_mag = os.path.join('..', 'data', 'data_123.mat')
mat = scipy.io.loadmat(path_mag)

#Save Matlab variable into dataframe
for roin, mag in enumerate(mat['roi_mag'][0]):
       data_mag.roi = roin + 1
       data_mag.loc[data_mag['roi'] == roin + 1, 'mag'] = mag 

编辑:我将其修复如下:

for roin, mag in enumerate(mat['roi_mag'][0]):
       data_mag.loc[roin,'roi'] = roin + 1
       data_mag.loc[data_mag['roi'] == roin + 1, 'mag'] = mag 

标签: pythonpandasmatlab

解决方案


推荐阅读