给出一个邻接矩阵“ adj”。我需要建立一个新的矩阵“ nearsthub”,以使中心(nearsthub[i:]
)的第i行是adj[j:]
的精确复制行j,其中j
的度数介于i
'邻居。我必须使用scipy.sparse
,因为邻接矩阵非常大且非常稀疏。
dim=adj.shape[0]
nearsthub=None
cx=adj.tocoo()
hub={i:0 for i in cx.row}
for i,j,v in zip(cx.row, cx.col, cx.data):
if hub[i] < adj[j,:].getnnz():
hub[i]=j
for i in range(dim):
t = hub[i]
if nearsthub is None:
nearsthub = sp.vstack(adj[t,:])
nearsthub = nearsthub.tolil()
else:
nearsthub = sp.vstack(nearsthub, adj[t,:])
但是我在最新行中遇到了错误(我将Nearsthub更改为lil csr coo)。
TypeError:输入类型不支持ufunc'isnan',并且 根据以下说明,无法将输入安全地强制转换为任何受支持的类型 强制转换为“安全”
如何解决错误?如何有效实施? 谢谢!