代码之家  ›  专栏  ›  技术社区  ›  D1X

将R中的三维数组保存为Python numpy读取的格式

  •  -2
  • D1X  · 技术社区  · 5 年前

    我有一个R(数值)的三维数组,我想 转移 Python,即三维numpy数组。我该怎么做?我试过几种选择,但都是 破坏 第三维。

    1 回复  |  直到 5 年前
        1
  •  3
  •   StupidWolf    5 年前

    尝试使用网纹函数将数组从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]]])