sklearn.metrics.pairwise.manhattan_distances

sklearn.metrics.pairwise.manhattan_distances(X, Y=None, sum_over_features=True, size_threshold=None)[source]

Compute the L1 distances between the vectors in X and Y.

With sum_over_features equal to False it returns the componentwise distances.

Read more in the User Guide.

Parameters:
X : array_like

An array with shape (n_samples_X, n_features).

Y : array_like, optional

An array with shape (n_samples_Y, n_features).

sum_over_features : bool, default=True

If True the function returns the pairwise distance matrix else it returns the componentwise L1 pairwise-distances. Not supported for sparse matrix inputs.

size_threshold : int, default=5e8

Unused parameter.

Returns:
D : array

If sum_over_features is False shape is (n_samples_X * n_samples_Y, n_features) and D contains the componentwise L1 pairwise-distances (ie. absolute difference), else shape is (n_samples_X, n_samples_Y) and D contains the pairwise L1 distances.

Examples

>>> from sklearn.metrics.pairwise import manhattan_distances
>>> manhattan_distances([[3]], [[3]])#doctest:+ELLIPSIS
array([[0.]])
>>> manhattan_distances([[3]], [[2]])#doctest:+ELLIPSIS
array([[1.]])
>>> manhattan_distances([[2]], [[3]])#doctest:+ELLIPSIS
array([[1.]])
>>> manhattan_distances([[1, 2], [3, 4]],         [[1, 2], [0, 3]])#doctest:+ELLIPSIS
array([[0., 2.],
       [4., 4.]])
>>> import numpy as np
>>> X = np.ones((1, 2))
>>> y = np.full((2, 2), 2.)
>>> manhattan_distances(X, y, sum_over_features=False)#doctest:+ELLIPSIS
array([[1., 1.],
       [1., 1.]])