MATLAB Answers

Numpy 3d arrays to matlab

25 views (last 30 days)
Rémi Grisot
Rémi Grisot on 30 Jun 2020
Commented: Rémi Grisot on 6 Jul 2020
Hi,
I have a dataset made of 3d arrays in numpy. I want to use this dataset in Matlab. I can write these 3d arrays to csv but they are written as string. I know how to deserialize them in python but not in Matlab. Is there a way to do so? Maybe using csv as an intermediate is not the best choice. Is there anything better you would recommend ?
Here is the code I use in Python for deserialization :
x_array = inputs.apply(lambda x:
np.fromstring(
x.replace('\n','')
.replace('[','')
.replace(']','')
.replace(' ',' '), sep=' ')
.reshape(20,20)).apply(lambda x:
np.array([x]))
Thank you!

Accepted Answer

SC
SC on 30 Jun 2020
  1 Comment
Rémi Grisot
Rémi Grisot on 6 Jul 2020
Thank you for the links, it helped me for some parts of the solutions. Here is what I produced :
import scipy.io
arr_train = np.stack(data['hist'].values)
scipy.io.savemat('data/data.mat', mdict={'train': arr_train})
arr_valid = np.stack(data_valid['hist'].values)
scipy.io.savemat('data/data_valid.mat', mdict={'test': arr_valid})

Sign in to comment.

More Answers (0)

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!