Python 如何解决:AttributeError:';发电机&x27;对象没有属性';ndim&x27;

Python 如何解决:AttributeError:';发电机&x27;对象没有属性';ndim&x27;,python,scipy,sparse-matrix,Python,Scipy,Sparse Matrix,我对此代码有问题: def get_lap(cmap): return scipy.sparse.csc_matrix(csgraph.laplacian(cmap, normed=False)) def fromcmaptocoords(C): L = get_lap(C) eigw, eigv = LA.eigh(L.todense()) vecs = eigv[:,1:3] guess_coords = pd.DataFrame(data=vec

我对此代码有问题:

def get_lap(cmap):
    return scipy.sparse.csc_matrix(csgraph.laplacian(cmap, normed=False))

def fromcmaptocoords(C): 
    L = get_lap(C)
    eigw, eigv = LA.eigh(L.todense())
    vecs = eigv[:,1:3]
    guess_coords = pd.DataFrame(data=vecs, columns=["x", "y"])
    return guess_coords
我得到以下错误:

File "/Users/Sofia/Desktop/2d.py", line 102, in fromcmaptocoords
L = get_lap(C)

File "/Users/Sofia/Desktop/2d.py", line 96, in get_lap
 return scipy.sparse.csc_matrix(csgraph.laplacian(cmap, normed=False))

File "/anaconda3/lib/python3.6/site-packages/scipy/sparse/csgraph/_laplacian.py",
line 69, in laplacian if csgraph.ndim != 2 or csgraph.shape[0] != csgraph.shape[1]:

AttributeError: 'generator' object has no attribute 'ndim'
你能帮我做这个吗?我不知道我需要改变什么
谢谢

您从CMaptoCoords输入了什么内容?尝试打印(类型(C))在CMaptoCoords()的
第一行中,您看到了什么?错误告诉您:
图形。拉普拉斯(cmap,normed=False)
想要的东西具有
ndim
属性。你给它一个
生成器
,而它没有。-你可能需要喂它一顿好的!谢谢你们两位!我将尝试这两种策略!“FromCmatoCoords”输入是一个接触映射,因此是一个以0或1为元素的方阵!