hamming#
- scipy.spatial.distance.hamming(u, v, w=None)[source]#
Compute the Hamming distance between two arrays.
The Hamming distance between 1-D arrays u and v, is simply the proportion of disagreeing components in u and v. If u and v are boolean vectors, the Hamming distance is
\[\frac{c_{01} + c_{10}}{n}\]where \(c_{ij}\) is the number of occurrences of \(\mathtt{u[k]} = i\) and \(\mathtt{v[k]} = j\) for \(k < n\).
- Parameters:
- u(…, N) array_like
Input array.
- v(…, N) array_like
Input array.
- w(…, N) array_like, optional
The weights for each value in u and v. Default is None, which gives each value a weight of 1.0
- Returns:
- hammingdouble or array
The Hamming distance between arrays u and v.
Notes
Array API Standard Support
hamminghas support for Python Array API Standard compatible backends in addition to NumPy. The following combinations of backend and device (or other capability) are supported.Library
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
n/a
See Support for the array API standard for more information.
Examples
>>> from scipy.spatial import distance >>> distance.hamming([1, 0, 0], [0, 1, 0]) 0.66666666666666663 >>> distance.hamming([1, 0, 0], [1, 1, 0]) 0.33333333333333331 >>> distance.hamming([1, 0, 0], [2, 0, 0]) 0.33333333333333331 >>> distance.hamming([1, 0, 0], [3, 0, 0]) 0.33333333333333331