skbio.stats.distance.DistanceMatrix.between

DistanceMatrix.between(from_, to_, allow_overlap=False)[源代码]

获取两组ID之间的距离

状态:从0.5.5开始实验。

参数:
  • from (Iterable of str) -- 要获取距离的ID。将获得自和至中所有ID对的距离。

  • to (Iterable of str) -- 要获取距离的ID。将获得进出的所有ID对的距离。

  • allow_overlap (bool, optional) -- 如果为True,则允许From和To的ID重叠(实际上是收集距离内的值)。默认值为FALSE。

返回:

(i,j,Value)表示源ID(“i”)、目标ID(“j”)和距离(“Value”)。

返回类型:

pd.DataFrame

抛出:

MissingIDError -- 如果指定的ID(S)不在相异度矩阵中。

备注

退货顺序稳定,这意味着请求ID ['a', 'b'] 相当于 ['b', 'a'] 。该顺序与self的.ids属性有关。

示例

>>> from skbio.stats.distance import DissimilarityMatrix
>>> dm = DissimilarityMatrix([[0, 1, 2, 3, 4], [1, 0, 1, 2, 3],
...                           [2, 1, 0, 1, 2], [3, 2, 1, 0, 1],
...                           [4, 3, 2, 1, 0]],
...                          ['A', 'B', 'C', 'D', 'E'])
>>> dm.between(['A', 'B'], ['C', 'D', 'E'])
   i  j  value
0  A  C    2.0
1  A  D    3.0
2  A  E    4.0
3  B  C    1.0
4  B  D    2.0
5  B  E    3.0