title: Pandas dataframe slicing with multiple column ranges
body: <p>I have a pandas dataframe with many labeled columns. For example:</p>
  <pre><code>import numpy as np
  import pandas as pd
  
  cols = ['lat', 'long', 'foo', 'bar', 'year', 'month', 'day', 'hour', 'min', 'sec']
  df = pd.DataFrame(np.random.random((10, 10)), columns=cols)
  </code></pre>
  <p>I would like to slice this dataframe with multiple ranges. For example:</p>
  <pre><code>df.loc[:, ('lat':'long', 'year':'day')]
  </code></pre>
  <p>but it doesn't seem like this is possible. Is there any way to do this?</p>
  <p>This issue is related to <a href="https://stackoverflow.com/q/47966085/5828163">Slice multiple column ranges with Pandas</a> and <a href="https://stackoverflow.com/q/50143469/5828163">Pandas Dataframe select multiple discontinuous columns/slices</a>, but I want to slice with column names, not indices. <code>np.r_</code> doesn't seem to support string ranges, only numeric ranges.</p>