MultiIndex get_level_values method to expensive in time
In [287]: %timeit zip(*df.index)[0]
100000 loops, best of 3: 6.48 µs per loop

In [288]: %timeit df.index.get_level_values(0)
10000 loops, best of 3: 39.4 µs per loop
