title: Shifting datetime index to first Monday/Tuesday/etc of next month
body: <p>I feel like this should be a) relatively simple, and b) already answered somewhere else, but I can't seem to figure it out and a few hours of googling have led me nowhere...</p>
  
  <p>I have some monthly data in a pandas dataframe. The index is a datetime index. I would like to shift this index to the first Monday/Tuesday/etc of the next month, but I can't seem to figure out how to do it...</p>
  
  <p>I've figured out how to shift to the first business day and last business day of the month using freq='BMS' and freq='BM' respectively using the shift() method. However, I'm lost as to how I can proceed from there. An example of shifting my data index is written below:</p>
  
  <pre class="lang-py prettyprint-override"><code>#setting up an arbitrary example df with a similar datetime index:
  date_rng = pd.date_range(start='1/1/1950', end='1/08/1955', freq='MS').shift(14, freq='D')
  test_df = pd.DataFrame(range(len(date_rng)), index=date_rng, columns=['ticker_name'])
  
  #what I know how to do so far
  rng_index = test_df.index
  new_range = rng_index.shift(1, freq='BMS') #first business day of month (use 'BM' for last business day of month
  
  test_df.index = new_range #My df should now have a new index pointing to the first business day of the next month. 
  </code></pre>
  
  <p>Instead of pointing to the first business day of the next month, I would like to get first Monday or first Tuesday or first ... of the next month.</p>
  
  <p>Any and all help is greatly appreciated!
  Cheers</p>