def normalize(mx):
"""Row-normalize sparse matrix"""
rowsum = np.array(mx.sum(1)) # 得到度向量D
r_inv = np.power(rowsum, -1).flatten()
r_inv[np.isinf(r_inv)] = 0.
r_mat_inv = sp.diags(r_inv)
mx = r_mat_inv.dot(mx)
return mx
mx = np.array([[1,0,1],[1,1,1],[0,0,1]])
mx_normal = normalize(mx)
print(mx_normal)
ValueError: Integers to negative integer powers are not allowed.
解决办法,mx的数据类型设置为float
mx = np.array([[1,0,1],[1,1,1],[0,0,1]], dtype=float)