title: What does np.r_ do (numpy)?
body: <p>Following code is taken from <a href="https://github.com/numpy/numpy/blob/a79d9d35c1b1582e5e0b8487f5dd414d15944f2c/numpy/lib/function_base.py#L207" rel="noreferrer">numpy function base on github</a></p>
  <pre><code>sa = sort(a[i:i+block])
  n += np.r_[sa.searchsorted(bins[:-1], 'left'),
             sa.searchsorted(bins[-1], 'right')]
  </code></pre>
  <p>So I know that searchsorted finds the position in the array <code>sa</code> where the elements of <code>bins</code> would have to be inserted in order to keep <code>sa</code> sorted (<code>left</code> gives the index left of where we would insert the value and <code>right</code> the right index).
  What I don't understand is the whole construction around it meaning what is</p>
  <pre><code>np.r_[array,array]
  </code></pre>
  <p>What is <code>np.r_</code>?</p>