У меня есть файлы метаданных в формате csv для некоторых наборов данных.Для данного набора данных мой код преобразует CSV-файл метаданных (meta_train.csv) во фрейм данных Pandas, а затем преобразует его в файл .mat.Я использую Python3 в Jupyter env, мой код ниже:
df_train=pd.read_csv(meta_train)
names = df_train.columns
arrays = [ df_train[col].get_values() for col in names ]
formats = [ array.dtype if array.dtype != 'O'
else f'{array.astype(str).dtype}' for array in arrays ]
myrec= fromarrays( arrays, dtype={'names': names, 'formats': formats} )
sio.savemat(os.path.join(dest,'TrainSet'+ '.mat'), {'metaInfo':myrec})
Код работает.Но происходит самое странное.После создания файла .mat я открываю его в Matlab, для некоторого набора данных массив массива выглядит так, как я хотел - вектор строки (1x9980), для другого набора данных структура - это вектор столбца (6695x1), как на рисунке ниже,показаны только 5 имен полей.Я использую тот же код выше, так как не могу понять, почему это происходит, я не знаю, как это исправить?
![enter image description here](https://i.stack.imgur.com/6B5Zu.png)
![enter image description here](https://i.stack.imgur.com/3Ix5Z.png)