Skip to main content
`Ctrl`+`K`

# scipy.spatial.distance.canberra

scipy.spatial.distance.canberra(u, v, w=None)

  Compute the Canberra distance between two 1-D arrays.

  The Canberra distance is defined as

  \[d(u,v) = \sum_i \frac{|u_i-v_i|} {|u_i|+|v_i|}.\]
  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:
    canberra double

      The Canberra distance between vectors u and v.

  Notes

  When u[i] and v[i] are 0 for given i, then the fraction 0/0 = 0 is used in the calculation.

  Examples

      >>> from scipy.spatial import distance
      >>> distance.canberra([1, 0, 0], [0, 1, 0])
      2.0
      >>> distance.canberra([1, 1, 0], [0, 1, 0])
      1.0