【问题标题】:Convert mat file to pandas dataframe将 mat 文件转换为 pandas 数据框
【发布时间】:2018-05-08 09:05:28
【问题描述】:

我想将 this file 转换为 pandas 数据框。

import pandas as pd
import scipy.io
mat = scipy.io.loadmat('cardio.mat')
cardio_df = pd.DataFrame(mat)

我收到此错误: Exception: Data must be 1-dimensional

【问题讨论】:

    标签: python pandas dataframe mat


    【解决方案1】:

    似乎mat 是一个包含X 形状(1831, 21)y 形状(1831, 1) 和一些元数据的字典。假设X 是数据,y 是相同的标签,您可以将它们与np.hstack 水平堆叠并将它们加载到熊猫中:

    In [1755]: mat = scipy.io.loadmat('cardio.mat')
    
    In [1758]: cardio_df = pd.DataFrame(np.hstack((mat['X'], mat['y'])))
    
    In [1759]: cardio_df.head()
    Out[1759]: 
             0         1         2         3         4         5         6   \
    0  0.004912  0.693191 -0.203640  0.595322  0.353190 -0.061401 -0.278295   
    1  0.110729 -0.079903 -0.203640  1.268942  0.396246 -0.061401 -0.278295   
    2  0.216546 -0.272445 -0.203640  1.050988  0.148753 -0.061401 -0.278295   
    3  0.004912  0.727346 -0.203640  1.212171 -0.683598 -0.061401 -0.278295   
    4 -0.100905  0.363595  1.321366  1.027120  0.141359 -0.061401 -0.278295   
    
    In [1760]: cardio_df.shape
    Out[1760]: (1831, 22)
    

    【讨论】:

    • @COLDSPEED 转换为 shape = (n_samples, n_features) 的类数组怎么样?
    • @KouchakYazdi 你的意思是,你想先重塑它?
    • @COLDSPEED 如果我想要形状 = (n_samples, n_features) 格式的类似数组的 mat 文件怎么办? (不是数据框)
    • @KouchakYazdi data = df.values.reshape((n_samples, n_features))
    猜你喜欢
    • 2020-04-03
    • 2019-09-25
    • 2020-02-29
    • 2022-01-10
    • 2013-01-08
    • 2019-12-16
    • 2019-09-29
    • 2021-05-26
    • 2019-05-14
    相关资源
    最近更新 更多