【问题标题】:Sparse matrix in npz format in PythonPython中npz格式的稀疏矩阵
【发布时间】:2018-12-27 10:30:21
【问题描述】:

我有一个 numpy 的 .npz 格式的稀疏矩阵。我知道要阅读这个矩阵,我需要使用scipy.sparse.load_npz(),但想了解它的内部结构。

我在 .npz 文件的预览中看到它包含以下 5 个部分:

  1. 数据
  2. 格式
  3. 指数
  4. indptr
  5. 形状

如何更好地理解这种文件格式?

【问题讨论】:

  • 您对scipy.sparse 包的熟悉程度如何? save_npz 写入稀疏矩阵的基本属性,足以用load_npz 重新创建它。它写入的内容取决于稀疏的format。在这种情况下,它是 csrcsc 矩阵。您可以使用 np.load 查看这 5 个值,但使用 load_npz 不需要这样做。如果您了解稀疏格式,npz 部分非常明显。
  • 如果您告诉我们更多关于您为什么想知道这一点的信息,这可能会有所帮助。只是好奇,还是打算直接使用零件?
  • @hpaulj 我使用了 scipy.sparse.load_npz 并将结果放入变量中。我希望将此矩阵用于 SVD,但此矩阵有部分数据(即向量),我不知道我的矩阵(加载后)是否是我需要使用的最终矩阵(tf_idf)或其他格式。我需要 TF-IDF 进行聚类。我用了一点 scipy。
  • loadnpz 的结果将是sparse matrix,如docs.scipy.org/doc/scipy/reference/generated/… 所述。如果tf_idf 接受 scipy 稀疏矩阵,则您不需要任何进一步处理,但我没有使用过该应用程序。
  • 因为我需要稀疏矩阵,但我不明白为什么属性太多,我担心这是错误的方式。格式是 csc 我忘了说你。我经常使用数据集,之后我将在稀疏矩阵中进行转换

标签: python numpy scipy


【解决方案1】:

npz 是一个简单的 zip 存档,其中包含 numpy 文件。 ZIP内部结构的简单回顾可以在这里找到http://en.wikipedia.org/wiki/ZIP_(file_format)

这里是文档:

.npz 文件格式https://docs.scipy.org/doc/numpy/reference/generated/numpy.savez.html

.npy 文件的格式 http://pyopengl.sourceforge.net/pydoc/numpy.lib.format.html

【讨论】:

  • 我不认为一般的numpy.savez/load 可以帮助这个用户。 scipy.sparse save_npz 使用np.savez 编写稀疏矩阵的属性,但用户通常不需要处理细节。
猜你喜欢
  • 2015-04-26
  • 2023-04-10
  • 2011-11-20
  • 2023-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多