title: Python selecting multiple ranges with numpy\pandas
body: <p>Is there anyway to select multiple ranges in numpy arrays or pandas dataframe efficiently all in one go?</p>
  
  <pre><code>import pandas as pd
  import numpy as np
  from time import time
  
  data = pd.DataFrame(np.random.sample((10000,10)))
  
  %timeit -n 10000 result = pd.concat((data[100:150], data[200:300]))
  10000 loops, best of 3: 1.47 ms per loop
  </code></pre>
  
  <p>In the above example, how can I select from 100 to 150 and 200:300 without using concat? Is this even possible?</p>
  
  <p>The above operation, has a bottleneck when using pd.concat and can eventually been speed up using np.vstack...but still I'd like to select the two ranges all at once without copy the underling data as concat would do.</p>
  
  <p>TIME is crucial, as I'd like to get as closer as possible as the time you'll get if you access directly to the continuos range as below:</p>
  
  <pre><code>%timeit -n 10000  result = data[100:150]
  10000 loops, best of 3: 94 µs per loop
  </code></pre>