【发布时间】: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