skbio.stats.distance.DissimilarityMatrix.within

DissimilarityMatrix.within(ids)[源代码]

获取ID集合中的所有距离

状态:从0.5.5开始实验。

参数:

ids (Iterable of str) -- 要获取其距离的ID。返回所有距离对,如果提供 ['a', 'b', 'c'] 的距离, [('a', 'a'), ('a', 'b'), ('a', 'c'), ('b', 'a'), ('b', 'b'), ('b', 'c'), ('c', 'a'), ('c', 'b'), ('c', 'c')] 都聚集在一起。

返回:

(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.within(['A', 'B', 'C'])
   i  j  value
0  A  A    0.0
1  A  B    1.0
2  A  C    2.0
3  B  A    1.0
4  B  B    0.0
5  B  C    1.0
6  C  A    2.0
7  C  B    1.0
8  C  C    0.0