我构造了一个权重对象:
import pysal as ps
neighbors = {0: [3, 1], 1: [0, 2, 2], 2: [1, 2], 3: [0, 1, 1]}
weights = {0: [1, 1], 1: [1, 1, 1], 2: [1, 1], 3: [1, 1, 1]}
w = ps.W(neighbors, weights)
权重对象中pysal
的邻居属性如下:
w.neighbors
它将返回一个 dict: {0: [3, 1], 1: [0, 2, 2], 2: [1, 2], 3: [0, 1, 1]}
。
我检查了 pysal 的api并找到了很多方法和属性来返回有关邻居数量而不是所有邻居总数的信息。
对于上述w
内容,我希望它返回如下内容:{0: 2, 1: 3, 2: 2, 3: 3}
。而不是像这样循环遍历字典:
n_nbrs = dict()
for key, value in w.neighbors.items():
n_nbrs[key] = len(value)
有没有简单的方法来实现这一点?