使用SciPy / Numpy在Python中连接稀疏矩阵的最有效方法是什么?
在这里,我使用以下内容:
>>> np.hstack((X, X2))
array([ <49998x70000 sparse matrix of type '<class 'numpy.float64'>'
with 1135520 stored elements in Compressed Sparse Row format>,
<49998x70000 sparse matrix of type '<class 'numpy.int64'>'
with 1135520 stored elements in Compressed Sparse Row format>],
dtype=object)
我想在回归中使用两个预测变量,但是当前格式显然不是我想要的格式。是否有可能获得以下信息:
<49998x1400000 sparse matrix of type '<class 'numpy.float64'>'
with 2271040 stored elements in Compressed Sparse Row format>
它太大,无法转换为深格式。
您可以使用scipy.sparse.hstack
来连接行数相同的稀疏矩阵(水平串联):
from scipy.sparse import hstack
hstack((X, X2))
同样,您可以用于scipy.sparse.vstack
将具有相同列数的稀疏矩阵进行串联(垂直串联)。
使用numpy.hstack
或numpy.vstack
将创建带有两个稀疏矩阵对象的数组。
2.5.1 介绍 (密集) 矩阵是: 数据对象 存储二维值数组的数据结构 重要特征: 一次分配所有项目的内存 通常是一个连续组块,想一想Numpy数组 快速访问个项目(*) 2.5.1.1 为什么有稀疏矩阵? 内存,增长是n**2 小例子(双精度矩阵): In [2]: import numpy as np import matplotlib.pyplot as plt x = np.li
问题内容: 我在用PyTables存储numpy csr_matrix时遇到问题。我收到此错误: 我的代码: 有任何想法吗? 谢谢 问题答案: 一个CSR矩阵可以从它的完全重建,和属性。这些只是常规的numpy数组,因此将它们作为3个单独的数组存储在pytables中,然后将它们传递回的构造函数应该没有问题。请参阅scipy文档。 编辑: Pietro的答案已指出该成员也应存储
问题内容: 我有一个Sqlite数据库,其中包含以下类型的架构: 该表包含术语及其在文档中的各自计数。喜欢 该矩阵可以被视为稀疏矩阵,因为每个文档都包含很少的具有非零值的项。 我将如何使用numpy从稀疏矩阵创建密集矩阵,因为我必须使用余弦相似度来计算文档之间的相似度。 这个密集的矩阵看起来像一个表格,第一列为docid,所有术语列为第一行,其余单元格将包含计数。 问题答案: 我用熊猫解决了这个问
问题内容: 我注意到Pandas现在已支持稀疏矩阵和数组。目前,我创建这样的: 有没有办法用或创建一个?转换为密集格式会严重破坏RAM。谢谢! 问题答案: 不支持直接转换ATM。欢迎捐款! 试试这个,在内存上应该没问题,因为SpareSeries很像csc_matrix(用于1列),而且空间效率很高
问题内容: 我有一个很大的csv文件,其中列出了图中节点之间的连接。例: 0001,95784 0001,98743 0002,00082 0002,00091 因此,这意味着节点id 0001连接到节点95784和98743,依此类推。我需要将其读入numpy中的稀疏矩阵。我怎样才能做到这一点?我是python的新手,所以有关此的教程也将有所帮助。 问题答案: 使用scipy的lil_matri
如何在python中找到包含负数的稀疏矩阵的sqrt?和对负数不起作用。我还尝试使用。但它也不起作用。