【问题标题】:Save a 3 dimensional array from R to a format to be read by Python numpy将 3 维数组从 R 保存为 Python numpy 读取的格式
【发布时间】:2020-05-17 00:13:14
【问题描述】:

我在 R(数字)中有一个 3 维数组,我想将其 转移 到 Python,即 3 维 numpy 数组。我怎样才能做到这一点?我尝试了几种选择,但它们都破坏第三维。

【问题讨论】:

  • 如何将其转换为 R 中的 JSON 字符串并在 Python 中读取此 JSON 字符串?
  • 到目前为止你尝试过什么?请在您的问题中提供minimal reproducible example
  • @jogo 我认为这个问题不需要mre,这很清楚。
  • R中有一个接口可以写读/写本机二进制numpy文件。dirk.eddelbuettel.com/code/rcpp.cnpy.html

标签: python r arrays python-3.x numpy


【解决方案1】:

尝试 reticulate 将数组从 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]]])

【讨论】:

    猜你喜欢
    • 2012-07-20
    • 2016-10-24
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    相关资源
    最近更新 更多