【问题标题】:Load sparce NumPy matrix into R将稀疏 NumPy 矩阵加载到 R 中
【发布时间】:2021-03-17 13:21:53
【问题描述】:

我有一个保存为 .npz 文件的 numPy 稀疏矩阵,我想将其加载到 R 中。 这是我尝试过的:

library(reticulate)
np <- import("numpy")
npz_train <- np$load('netflix_matrix.npz')
df <- npz_train$f[["data"]]

df的长度是103327692,但是对于

npz_train_imgs$f[["shape"]]
[1]   17770 2649429

与 103327692 的总大小不同。 我知道它是一个稀疏矩阵,那么我怎么能把它读成一个呢? 我想在空白处填写 NA。

谢谢!

【问题讨论】:

  • 查看save_npz 或load_npz 的代码,了解如何保存和加载稀疏矩阵。细节因格式而异。如果是常见的csr格式,load使用:cls((loaded['data'], loaded['indices'], loaded['indptr']), shape=loaded['shape'])。我相信R 具有稀疏格式,但您必须研究其文档以确定如何将其与此类属性一起使用。
  • shape 和 data 形状对于稀疏矩阵来说是合理的,稀疏度为 0.002。 data 有这个大数组的非零值。你所说的“空白”是零。

标签: python r numpy sparse-matrix


【解决方案1】:

我想通了:

scipy <- import("scipy.sparse")
sparse_mat<- scipy$load_npz('netflix_matrix.npz')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-20
    • 2021-11-25
    • 2015-10-14
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-04
    相关资源
    最近更新 更多