code: def lranksums(x,y):
      
      n1 = len(x)
      n2 = len(y)
      alldata = x+y
      ranked = rankdata(alldata)
      x = ranked[:n1]
      y = ranked[n1:]
      s = sum(x)
      expected = n1*(n1+n2+1) / 2.0
      z = (s - expected) / math.sqrt(n1*n2*(n1+n2+1)/12.0)
      prob = 2*(1.0 -zprob(abs(z)))
      return z, prob
docs: Calculates the rank sums statistic on the provided scores and
  returns the result.  Use only when the n in each condition is > 20 and you
  have 2 independent samples of ranks.
  
  Usage:   lranksums(x,y)
  Returns: a z-statistic, two-tailed p-value