Ошибка преобразования DataFrame Python в таблицу MATLABPython

Программы на Python
Anonymous
Ошибка преобразования DataFrame Python в таблицу MATLAB

Сообщение Anonymous »

Я использовал следующие команды для загрузки файла Python .pkl в MATLAB:

Код: Выделить всё

fid = py.open("data.pkl");
data = py.pickle.load(fid);
T = table(data);
Это загружает объект DataFrame Python и пытается преобразовать его в таблицу (более новые версии MATLAB имеют возможность преобразовать этот объект в таблицу с помощью команды table). Преобразование таблицы привело к следующей ошибке:

Ошибка при использовании py.pandas.DataFrame/table

Размеры ключа и значения должны быть одинаковыми или значение должно быть скалярным.

Что означает эта ошибка? Я предполагаю, что это потому, что объект DataFrame в .pkl содержит пару вложенных полей. Большинство полей представляют собой просто числовые векторы 1xN, но пара представляет собой объекты 1xN, которые имеют свои собственные поля.
У меня есть файл .mat, созданный в Python путем простого чтения .pkl и сохранения с помощью sio.savemat, поэтому я знаю, что исходный файл pkl действителен. Однако я хотел бы иметь возможность читать эти файлы непосредственно в MATLAB, вместо того, чтобы делать дополнительный шаг по сохранению файла mat.
Как я могу преобразовать этот объект DataFrame во что-то, что можно использовать в MATLAB? Мне дали этот файл данных, но я не создавал его, и я гораздо лучше разбираюсь в MATLAB, чем в Python, поэтому я предпочел бы решить эту проблему в MATLAB, а не создавать сценарий Python или менять способ создания файла.

Вернуться в «Python»