将python对象转换为数据帧
我正在尝试将这个python对象转换为数据帧。但是它说它不是一维的,所以它不能转换。它最初是一个.mat文件,我将其转换为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
{'__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一部分的内容,因为如果您对数组感兴趣,您可以这样做