[英]Inherit from scipy.sparse.csr_matrix class
我想用一些方法來擴充scipy.sparse.csr_matrix
類,並替換一些其他方法供個人使用。 我正在制作一個繼承自csr_matrix
的子類,如下所示:
class SparseMatrix(sp.csr_matrix):
def __init__(self, matrix):
super(type(self), self).__init__(matrix)
但這行不通,拋出:
AttributeError: toSpa 未找到
你能向我解釋一下我做錯了什么嗎?
在 SciPy 稀疏矩陣實現的某個地方,類名的前三個字母用於定義一個方法,該方法將在不同的稀疏矩陣類型之間進行轉換( 請參閱此線程)。 因此,您必須使用以下名稱來實現:
import numpy as np
from scipy.sparse import csr_matrix
class csr_matrix_alt(csr_matrix):
def __init__(self, *args, **kwargs):
super(csr_matrix_alt, self).__init__(*args, **kwargs)
s = csr_matrix_alt(np.random.random((10, 10)))
print(type(s))
#<class '__main__.csr_matrix_alt'>
其他名稱,如csr_mymatrix
、 csr_test
等也是可能的...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.