【发布时间】:2018-08-02 13:10:45
【问题描述】:
我正在尝试将 python Dataframe 转换为 Matlab (.mat) 文件。
我最初有一个使用 panda.read_csv 导入的 txt(EEG 信号):
MyDataFrame = pd.read_csv("data.txt",sep=';',decimal='.'),data.txt 是一个带有标签的二维数组。这将创建一个看起来像 this 的数据框。
为了将其转换为 .mat,我尝试了 this solution,其想法是将数据帧转换为列表字典,但在尝试了此解决方案的各个方面后仍然不成功。
scipy.io.savemat('EEG_data.mat', {'struct':MyDataFrame.to_dict("list")})
它确实创建了一个 .mat 文件,但它没有正确保存我的数据框。我得到的文件看起来像this,所以所有的值基本上都没有了,你看到的剩下的标签都是空的。
我也尝试使用mat4py,它旨在将 python 结构导出到 Matlab 文件中,但它也不起作用。我不明白为什么,因为将我的数据框转换为列表字典正是根据 mat4py 文档应该做的事情。
【问题讨论】:
-
这看起来是一个有用的贡献,但你能把它改写成一个问题,然后提供你的答案作为答案吗?此外,查看一些示例数据可能会有所帮助。
-
当然,今晚我回家后会这样做。
-
酷。当我需要进行这种转换时,字典列表方法对我有用,但显然您的数据和/或环境有些不同。你用的是什么版本的 python、scipy 和 MATLAB?
-
我正在使用 Python 3.6、MATLAB R2017b 和我最近(上周)安装的 anaconda 附带的 scipy 版本。它可能来自我的数据或来自最近版本的更改,老实说我不知道。 Here are what the first lines of my raw data look like.
-
如果您可以以文本形式分享该数据提取,我很乐意试用它,看看我是否遇到了同样的问题,如果有,请尝试找出发生了什么。
标签: python matlab dictionary dataframe tuples