Issue 1:
from pandas import DataFrame, Timestamp

c = pandas.DataFrame({u'ul_payload': {('a', Timestamp('2016-11-01 06:15:00')): 5, ('a', Timestamp('2016-11-01 07:45:00')): 8, ('a', Timestamp('2016-11-01 09:00:00')): 9, ('a', Timestamp('2016-11-01 07:15:00')): 6, ('a', Timestamp('2016-11-01 07:30:00')): 7, ('a', Timestamp('2016-11-01 06:00:00')): 4}, u'dl_payload': {('a', Timestamp('2016-11-01 06:15:00')): 15, ('a', Timestamp('2016-11-01 07:45:00')): 18, ('a', Timestamp('2016-11-01 09:00:00')): 19, ('a', Timestamp('2016-11-01 07:15:00')): 16, ('a', Timestamp('2016-11-01 07:30:00')): 17, ('a', Timestamp('2016-11-01 06:00:00')): 14}})

In [80]: c
Out[80]:
dl_payload ul_payload
a 2016-11-01 06:00:00 14 4
2016-11-01 06:15:00 15 5
2016-11-01 07:15:00 16 6
2016-11-01 07:30:00 17 7
2016-11-01 07:45:00 18 8
2016-11-01 09:00:00 19 9

In [83]: c_fi = pandas.date_range(c.index.get_level_values(1).min(), c.index.get_level_values(1).max(), freq='15Min', name='a')

In [85]: len(c_fi)
Out[85]: 13

In [87]: c.reindex(index=c_fi, level=1).shape
Out[87]: (6, 2)

Expected Output

As in the single-level index case:

In [88]: c.reset_index(level=0).reindex(index=c_fi).shape
Out[88]: (13, 3)

Output of pd.show_versions()

INSTALLED VERSIONS
------------------
commit: None
python: 2.7.13.final.0
python-bits: 64
OS: Darwin
OS-release: 16.4.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8

pandas: 0.19.2

nose: 1.3.7

pip: 9.0.1

setuptools: 28.6.1

Cython: 0.25.2

numpy: 1.11.3

scipy: 0.18.1

statsmodels: 0.6.1

xarray: 0.9.1

IPython: 5.1.0

sphinx: 1.5.1

patsy: 0.4.1

dateutil: 2.6.0

pytz: 2016.10

blosc: None

bottleneck: 1.2.0

tables: 3.3.0

numexpr: 2.6.1

matplotlib: 2.0.0

openpyxl: 2.4.1

xlrd: 1.0.0

xlwt: 1.2.0

xlsxwriter: 0.9.6

lxml: 3.7.2

bs4: 4.5.3

html5lib: None

httplib2: None

apiclient: None

sqlalchemy: 1.1.5

pymysql: None

psycopg2: 2.6.2 (dt dec pq3 ext lo64)

jinja2: 2.9.4

boto: 2.45.0

pandas_datareader: None

Issue 2:
xref #10347

I'm having trouble understand how exactly reindex is supposed to work in the case of MultiIndex. What I would like is the exact behavior in the Index case where values can be filled or padded according to some level of the MultiIndex. I can't understand what reindex is doing in the MultiIndex case. The below is an example where I would like to interpolate using the prior value a month frame to an hourly frame.

import pandas as pd
d1 = pd.date_range('1/1/2012', '3/1/2012', freq='MS')
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=d1)
dfu = df.unstack()

dfu
Out[12]:
A 2012-01-01 1
2012-02-01 2
2012-03-01 3
B 2012-01-01 4
2012-02-01 5
2012-03-01 6
dtype: int64

d2 = pd.date_range('1/1/2012', '3/31/2012', freq='D')

dfu.reindex(d2, level=1) # What is this supposed to do?
Out[17]:
A 2012-01-01 1
2012-02-01 2
2012-03-01 3
B 2012-01-01 4
2012-02-01 5
2012-03-01 6
dtype: int64

df.reindex(d2, method='pad').unstack() #Ideally something like this, but without the trickery
Out[19]:
A 2012-01-01 1
2012-01-02 1
2012-01-03 1
2012-01-04 1
2012-01-05 1
2012-01-06 1
2012-01-07 1
2012-01-08 1
2012-01-09 1
2012-01-10 1
2012-01-11 1
2012-01-12 1
2012-01-13 1
2012-01-14 1
2012-01-15 1
...
B 2012-03-17 6
2012-03-18 6
2012-03-19 6
2012-03-20 6
2012-03-21 6
2012-03-22 6
2012-03-23 6
2012-03-24 6
2012-03-25 6
2012-03-26 6
2012-03-27 6
2012-03-28 6
2012-03-29 6
2012-03-30 6
2012-03-31 6
Length: 182, dtype: int64