Я пытаюсь преобразовать этот объект python в фрейм данных pandas. Но он говорит, что он не 1-мерный, поэтому он не может конвертировать. Первоначально это был файл .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]
Я понимаю. он не может сортировать массив «val», который представляет собой мат в одном столбце. вам придется сначала изменить массив «val» на один тусклый или сохранить его в другом фрейме данных.
Попробуйте так:
если вы хотите 2 столбца
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
Спасибо @ShubhamShswat, это то, что я искал.
@AdarshMishra в зависимости от того, что вы хотите сделать частью своего df, поскольку, если вас просто интересуют массивы, вы можете сделать это таким образом.
Привет @salmanhammad, это тоже не сработало. Он показывает ту же ошибку. Исключение: данные должны быть одномерными.