skbio.stats.distance.DissimilarityMatrix.within#
- DissimilarityMatrix.within(ids)[source]#
Obtain all the distances among the set of IDs.
- Parameters:
- idsIterable of str
The IDs to obtain distances for. All pairs of distances are returned such that, if provided [‘a’, ‘b’, ‘c’], the distances for [(‘a’, ‘a’), (‘a’, ‘b’), (‘a’, ‘c’), (‘b’, ‘a’), (‘b’, ‘b’), (‘b’, ‘c’), (‘c’, ‘a’), (‘c’, ‘b’), (‘c’, ‘c’)] are gathered.
- Returns:
- pd.DataFrame
(i, j, value) representing the source ID (“i”), the target ID (“j”) and the distance (“value”).
- Raises:
- MissingIDError
If an ID(s) specified is not in the dissimilarity matrix.
Notes
Order of the return items is stable, meaning that requesting IDs [‘a’, ‘b’] is equivalent to [‘b’, ‘a’]. The order is with respect to the order of the .ids attribute of self.
Examples
>>> 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