python - 将 Matlab 文件保存到 Python Pandas 数据框中
问题描述
我的目标是提取 Matlab 文件(称为 data_123)的值并将其存储到 Pandas Dataframe 中。特别是,Matlab 文件包含roi_mag
应该存储在数据框mag
列中的变量data_mag
。然后,数据框的roi
列data_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
解决方案
推荐阅读
- javascript - 我想解决 javascript OOP 问题,但我的代码不完整
- arrays - 使用隐式成员语法的枚举成员数组
- reactjs - 有条件地显示输入字段
- html - 在 VSCode 中显示 JSX 的 HTML 工具提示提示
- java - 使用 QueryDSL JPAQuery 通过 PESSIMISTIC 锁按每个块获取项目
- react-native - 如何在 React Native 中为 google oauth 定义重定向 url
- jquery - 异步 Jquery com CDN
- java - 将 soapMessage XML 解析为字符串并在 Java 中使用 XPath 进行搜索
- firefox - 如何强制 Firefox 会话保存?
- c# - C# 中是否有 10 位无符号整数数据类型?