pysal.lib.weights.w_difference

pysal.lib.weights.w_difference(w1, w2, w_shape='w1', constrained=True, silence_warnings=False)[源代码]

返回binary weights对象w,它只包含w1中不在w2中的邻居对。w_形状和约束参数决定返回w1中不在w2中的对。

参数:
w1 : W

对象

w2 : W

对象

w_shape : 一串

定义返回的权重矩阵的形状。w1'返回与w1具有相同ID的矩阵;“all”返回具有w1和w2中所有唯一ID的矩阵;“min”返回具有发生在w1而不是w2中的ID的矩阵。

constrained : 布尔

如果为false,则返回w1中不在w2中的完整邻居对集。如果是真的,那么如果w岺shape='min'不可能的对将被丢弃。如果w_shape设置为“min”,则忽略。

silence_warnings : 布尔

切换到“关闭(默认打开)”打印带有孤岛的每个观测的语句

返回:
w : W

对象

笔记

使用==执行ID比较,因此整数ID 2等于浮点ID 2.0。

实例

构造两个4x4区域(16个区域)的Rook(W2)和Queen(W1)权重矩阵。一个皇后矩阵有所有的连接,一个Rook矩阵加上共享一个角的区域之间的连接。新的矩阵由车从皇后的差异形成,只包含在角落的连接(通常称为主教矩阵)。请注意,皇后和rook的区别将导致没有连接的权重矩阵。

>>> from pysal.lib.weights import lat2W
>>> w1 = lat2W(4,4,rook=False)
>>> w2 = lat2W(4,4,rook=True)
>>> import pysal.lib
>>> w = pysal.lib.weights.set_operations.w_difference(w1, w2, constrained=False)
>>> w1[0] == w[0]
False
>>> w1.neighbors[15]
[10, 11, 14]
>>> w2.neighbors[15]
[11, 14]
>>> w.neighbors[15]
[10]
>>>