我认为没有任何办法可以真正避免进行复制。这两种类型的稀疏矩阵都将它们的数据存储为Numpy数组(在csr的data和index属性中以及lil的data和rows属性中)内部存储,并且Numpy数组无法扩展。
更新以获取更多信息:
LIL确实代表linked
List,但是当前的实现并不完全符合该名称。用于
data和的Numpy数组
rows均为对象类型。这些数组中的每个对象实际上都是Python列表(当所有值连续为零时为空列表)。Python列表不是完全链接的列表,但是由于O(1)查找,它们是很接近的并且坦率地说是更好的选择。就个人而言,我没有立即看到在这里使用Numpy对象数组而不只是Python列表的意义。您可以相当容易地将当前的lil实现更改为使用Python列表,这将允许您添加一行而不复制整个矩阵。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)