Сохраните трехмерный массив из R в формате, который будет прочитан Python numpy - PullRequest
0 голосов
/ 31 января 2020

У меня есть трехмерный массив в R (числовой), который я хочу передать в Python, то есть в 3-мерный массив numpy. Как я могу это сделать? Я перепробовал несколько вариантов, но все они уничтожают 3-е измерение.

1 Ответ

1 голос
/ 31 января 2020

Попробуйте преобразовать массив из R в python. Затем сохраните его, используя numpy (вызывается изнутри R).

## inside R

library(reticulate)
x = array(runif(27),dim=c(3,3,3))
# import numpy
np = import("numpy")
np$save("test.npy",r_to_py(x))

Теперь мы загружаем его с python:

import numpy as np                                                      
np.load("test.npy")                                                     
array([[[0.53035511, 0.09324333, 0.74165792],
        [0.32596559, 0.84278233, 0.63397294],
        [0.71819993, 0.69992033, 0.23523802]],

       [[0.4240157 , 0.92849409, 0.23161098],
        [0.82145088, 0.789411  , 0.18161145],
        [0.87357443, 0.29713062, 0.35034028]],

       [[0.17399566, 0.81314384, 0.92519895],
        [0.72759271, 0.62621744, 0.02139281],
        [0.39817859, 0.62391164, 0.66426406]]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...