将python对象转换为数据帧

将python对象转换为数据帧,python,pandas,Python,Pandas,我正在尝试将这个python对象转换为数据帧。但是它说它不是一维的,所以它不能转换。它最初是一个.mat文件,我将其转换为python列表。 打印时列表如下所示: {'__header__': b'MATLAB 5.0', '__version__': '1.0', '__globals__': [], 'val': array([[-20, -17, -2, ..., -11, -4, -11], [-12, -8, -5, ..., -9, -9, -9]], dtype=in

我正在尝试将这个python对象转换为数据帧。但是它说它不是一维的,所以它不能转换。它最初是一个.mat文件,我将其转换为python列表。 打印时列表如下所示:

{'__header__': b'MATLAB 5.0', '__version__': '1.0', '__globals__': [], 'val': array([[-20, -17,  -2, ..., -11,  -4, -11],
[-12,  -8,  -5, ...,  -9,  -9,  -9]], dtype=int16)}


我认为您正在寻找此功能:

[https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.from_dict.html]

尝试以下方法:

如果你想要两列

pd.DataFrame(data['val'].T)
输出:

0   1
0   -20 -12
1   -17 -8
2   -2  -5
3   -11 -9
4   -4  -9
5   -11 -9
你还能做什么

pd.DataFrame(data['val'])
输出:

0   1   2   3   4   5
0   -20 -17 -2  -11 -4  -11
1   -12 -8  -5  -9  -9  -9

嗨,salmanhammad,这也没用。它显示了同样的错误。例外情况:数据必须为一维,请参见。它无法对“val”数组进行排序,该数组是一列中的mat。您必须首先将“val”数组重塑为一维或保存在不同的数据帧中。谢谢@ShubhamShswat,这就是我搜索的内容。@AdarshMishra取决于您希望成为df一部分的内容,因为如果您对数组感兴趣,您可以这样做